From 9d748d997aa04bd1d1a6355dfa672102a54ec302 Mon Sep 17 00:00:00 2001 From: Israel Abebe Date: Thu, 6 Mar 2025 07:29:11 +0300 Subject: [PATCH] Update README.md --- README.md | 98 +++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 92 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index ed23f98..cf34772 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,28 @@ # TextBee - Android SMS Gateway -A simple SMS gateway that allows users to send SMS messages from a web interface or -from their application via a REST API. It utilizes android phones as SMS gateways. +TextBee is an open-source SMS gateway that enables users to send and receive SMS messages via a web dashboard or a REST API. Perfect for businesses, developers, and hobbyists who need a reliable and cost-effective way to automate SMS messaging. - **Technology stack**: React, Next.js, Node.js, NestJs, MongoDB, Android, Java - **Link**: [https://textbee.dev](https://textbee.dev/) ![](https://ik.imagekit.io/vernu/textbee/texbee-landing-light.png?updatedAt=1687076964687) -## Usage + +## Features + +- Send & receive SMS messages via API & dashboard +- Use your own Android phone as an SMS gateway +- REST API for easy integration with apps & services +- Send Bulk SMS with CSV file +- Multi-device support for higher SMS throughput +- Secure API authentication with API keys +- Webhook support +- Self-hosting support for full control over your data + + + + +## Getting Started 1. Go to [textbee.dev](https://textbee.dev) and register or login with your account 2. Install the app on your android phone from [dl.textbee.dev](https://dl.textbee.dev) @@ -71,6 +85,79 @@ curl -X GET "https://api.textbee.dev/api/v1/gateway/devices/YOUR_DEVICE_ID/get-r -H "x-api-key: YOUR_API_KEY" ``` +## Self-Hosting + +### Setting Up Database + +1. **Install MongoDB on Your Server**: Follow the official MongoDB installation guide for your operating system. +2. **Using MongoDB Atlas**: Alternatively, you can create a free database on MongoDB Atlas. Sign up at [MongoDB Atlas](https://www.mongodb.com/cloud/atlas) and follow the instructions to set up your database. + +### Firebase Setup + +1. Create a Firebase project. +2. Enable Firebase Cloud Messaging (FCM) in your Firebase project. +3. Obtain the Firebase credentials for backend use and the Android app. + +### Building the Android App + +1. Clone the repository and navigate to the Android project directory. +2. Update the `google-services.json` file with your Firebase project configuration. +3. Update every occurrence of `textbee.dev` with your own domain in the project. +4. Build the app using Android Studio or the command line: + ```bash + ./gradlew assembleRelease + ``` + +### Building the Web + +1. Navigate to the `web` directory. +2. Copy the `.env.example` file to `.env`: + ```bash + cp .env.example .env + ``` +3. Update the `.env` file with your own credentials. +4. Install dependencies: + ```bash + pnpm install + ``` +5. Build the web application: + ```bash + pnpm build + ``` + +### Building the API + +1. Navigate to the `api` directory. +2. Copy the `.env.example` file to `.env`: + ```bash + cp .env.example .env + ``` +3. Update the `.env` file with your own credentials. +4. Install dependencies: + ```bash + pnpm install + ``` +5. Build the API: + ```bash + pnpm build + ``` + +### Hosting on a VPS + +1. Install `pnpm`, `pm2`, and `Caddy` on your VPS. +2. Use `pm2` to manage your Node.js processes: + ```bash + pm2 start dist/main.js --name textbee-api + ``` +3. Configure `Caddy` to serve your web application and API. Example Caddyfile: + ``` + textbee.dev { + reverse_proxy /api/* localhost:3000 + reverse_proxy /* localhost:3001 + } + ``` +4. Ensure your domain points to your VPS and Caddy is configured properly. + ## Contributing Contributions are welcome! @@ -84,8 +171,7 @@ Contributions are welcome! Please feel free to [create an issue](https://github.com/vernu/textbee/issues/new) in the repository for any bug reports or feature requests. Make sure to provide a detailed description of the issue or feature you are requesting and properly label whether it is a bug or a feature request. -Please note that if you discover any vulnerability or security issue, we kindly request that you refrain from creating a public issue. Instead, send an email detailing the vulnerability to textbee.dev@gmail.com. - +Please note that if you discover any vulnerability or security issue, we kindly request that you refrain from creating a public issue. Instead, send an email detailing the vulnerability to contact@textbee.dev. ## For support, feedback, and questions -Feel free to reach out to us at textbee.dev@gmail.com or [Join our Discord server](https://discord.gg/d7vyfBpWbQ) +Feel free to reach out to us at contact@textbee.dev or [Join our Discord server](https://discord.gg/d7vyfBpWbQ)