# ZenziAi.africa
ZenziAi is an AI-powered assistant platform for WhatsApp and Voice, helping African businesses automate customer support and engagement.
## Setup
1. Clone this repository
2. Create a .env file based on .env.example
3. Install dependencies (backend: `pip install -r requirements.txt`, frontend: `pnpm install`)
4. Run backend (`python manage.py runserver`) and frontend (`pnpm dev`)
## Project Layout
- `src/`, `public/`, `next.config.ts` – marketing site, dashboard, checkout, and setup flows built with Next.js 15 + TypeScript.
- `backend/` – Django REST API (`zenzia_backend`) handling subscriptions, payments, onboarding automation, and invoices.
- `.env.example` – reference for required environment variables in local development.
## Admin Console
- Login at `/admin/login` using an AdminUser account (roles: `superadmin`, `admin`, `ai_developer`, `support`).
- SuperAdmins can manage other admin accounts via `/api/admin/users/`. Set `ADMIN_BOOTSTRAP_EMAIL` and `ADMIN_BOOTSTRAP_PASSWORD` to auto-create a bootstrap SuperAdmin on startup.
- Admin endpoints live under `/api/admin/` and require the `Authorization: Bearer ` header issued at login.
## Render Environment (Admin bootstrap)
Add these to your Render backend env to auto-create a SuperAdmin:
- `ADMIN_BOOTSTRAP_EMAIL` – SuperAdmin email.
- `ADMIN_BOOTSTRAP_PASSWORD` – SuperAdmin password.
- `ADMIN_BOOTSTRAP_NAME` – optional display name.
## Frontend Development
This project is bootstrapped with Next.js. To work on the web experience:
```bash
pnpm dev
# or npm run dev / yarn dev / bun dev
```
Open
localhost to preview changes. Edit application pages (e.g., `src/app/page.tsx`) and Next.js will hot-reload automatically. See the Next.js docs for more details on routing, data fetching, and optimization.
## Backend Development
```bash
cd backend
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python manage.py migrate
python manage.py runserver 0.0.0.0:800 …