024ba8847096f40f6c675c9155c9a02bb82afa63
- Manufacturing router now uses shared/audit.log_action (Postgres) instead of the separate manufacturing/audit.py (SQLite mfg_audit_log), so all manufacturing events appear in the Log Viewer - Added log_action calls to 5 previously unlogged endpoints: lifecycle patch, lifecycle create, lifecycle delete, flash asset upload, flash asset note - Removed the now-redundant /manufacturing/audit-log endpoint - Log Viewer restricted to sysadmin only: backend uses require_sysadmin (was require_admin_or_above), frontend adds role guard on the page - Fixed Action badge column clipping: table-layout auto + whiteSpace nowrap so the column sizes to fit the widest badge (Status Change) - Added device_batch entity type to Log Viewer entity labels and filters Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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
# 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.
Description
BellSystems Contol Panel.
Handles everything from Devices to Clients.
Firebase / Mosquitto / Device Control / logging...
Languages
JavaScript
77.1%
Python
12.6%
HTML
7.4%
CSS
2.9%