# BellSystems Admin Panel

Self-hosted web admin panel for managing BellSystems devices, melodies, users, and MQTT communications.

## Tech Stack

- **Backend:** Python / FastAPI
- **Frontend:** React + Tailwind CSS (Vite)
- **Database:** Google Firestore (Firebase Admin SDK)
- **MQTT:** Mosquitto (paho-mqtt)
- **Auth:** JWT with role-based access control
- **Deployment:** Docker Compose + Nginx

## Getting Started

```bash
# Clone the repo
git clone <your-gitea-url>/bellsystems-admin.git
cd bellsystems-admin

# Copy env template and fill in your values
cp .env.example .env

# Place your Firebase service account key in the project root
# (file is gitignored — never commit it)

# Start everything
docker compose up --build
```

## Project Structure

```
bellsystems-admin/
├── backend/          # FastAPI API server
├── frontend/         # React SPA
├── nginx/            # Reverse proxy config
├── docker-compose.yml
└── .env
```

## Documentation

See `BellSystems_AdminPanel_Strategy.md` for the full architecture and build plan.