Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
vernu authored Mar 6, 2025
1 parent 3ee58b2 commit 9d748d9
Showing 1 changed file with 92 additions and 6 deletions.
98 changes: 92 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -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)
Expand Down Expand Up @@ -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!
Expand All @@ -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)

0 comments on commit 9d748d9

Please sign in to comment.