BigSMS — Powering Communication Across Africa
# BigSMS
**Powering Communication Across Africa.**
BigSMS is a cloud communication platform for reliable, developer-friendly SMS APIs — similar to Twilio, Beem Africa, and Africa's Talking.
## Stack
- **Web**: Next.js 15, React, TypeScript, Tailwind CSS, Framer Motion
- **API**: NestJS modular monolith (Clean Architecture / DDD)
- **DB**: PostgreSQL + Prisma
- **Queue**: Redis + BullMQ (mock SMS gateway)
- **Monorepo**: pnpm + Turborepo
## Quick start
### Prerequisites
- Node.js 22+
- pnpm 9+
- PostgreSQL 16 (or use embedded Postgres below)
- Redis 7 (optional — set `SMS_INLINE=true` to process SMS without Redis)
### Setup
```bash
cp .env.example .env
pnpm install
pnpm --filter @bigsms/types build
pnpm --filter @bigsms/utils build
pnpm --filter @bigsms/sdk build
```
### Database options
**A) Docker Compose (recommended)**
```bash
docker compose up -d postgres redis
# then set DATABASE_URL / REDIS_URL and unset SMS_INLINE
```
**B) Embedded Postgres (no Docker)**
```bash
pnpm --filter @bigsms/api db:embedded
# keep that terminal open, then in another:
pnpm db:generate
pnpm --filter @bigsms/api exec prisma migrate dev
pnpm db:seed
```
```bash
pnpm --filter @bigsms/api dev
pnpm --filter @bigsms/web dev
```
- Web:
localhost
- API:
localhost
- Swagger:
localhost
### Seed accounts
| Role | Email | Password |
|------|-------|----------|
| Super Admin | admin@bigsms.io | Admin123!@# |
| Demo Admin | demo@acme.africa | Demo1234! |
### Docker Compose
```bash
docker compose up --build
```
## Workspace
```
apps/web Marketing + dashboard
apps/api NestJS API
packages/types Shared enums & contracts
packages/utils Phone/money helpers
packages/sdk Typed API client
packages/ui Shared UI primitives
packages/config Shared TS config
```
## SMS
Gateway is selected with `SMS_PROVIDER`:
| Value | Behavior |
|-------|----------|
| `mock` | Local simulator (default in `.env.example`) |
| `af …