# BMC Hub πŸš€ Et centralt management system til BMC Networks - hΓ₯ndterer kunder, services, hardware og billing. **Baseret pΓ₯ OmniSync arkitektur med Python + PostgreSQL** ## 🌟 Features - **Customer Management**: Komplet kundedatabase med CRM integration - **Hardware Tracking**: Registrering og sporing af kundeudstyr - **Service Management**: HΓ₯ndtering af services og abonnementer - **Billing Integration**: Automatisk fakturering via e-conomic - **REST API**: FastAPI med OpenAPI dokumentation - **Web UI**: Responsive Bootstrap 5 interface - **PostgreSQL**: Production-ready database - **Docker**: Container deployment med version control ## πŸ“š Quick Start ### Lokal Udvikling ```bash # 1. Clone repository git clone git@g.bmcnetworks.dk:ct/bmc_hub.git cd bmc_hub # 2. Kopier og rediger .env cp .env.example .env nano .env # TilfΓΈj dine credentials # 3. Start med Docker Compose docker-compose up -d # 4. Γ…bn browser open http://localhost:8000/api/docs ``` ### Live Deployment ```bash # PΓ₯ serveren cd /opt git clone git@g.bmcnetworks.dk:ct/bmc_hub.git cd bmc_hub # Setup environment cp .env.prod.example .env nano .env # Udfyld credentials og version tag # Deploy docker-compose -f docker-compose.prod.yml up -d ``` ## πŸ› οΈ Deployment Commands ### Lokal Development ```bash docker-compose up -d # Start systemet docker-compose logs -f # Se logs docker-compose down # Stop systemet ``` ### Production ```bash docker-compose -f docker-compose.prod.yml up -d # Start docker-compose -f docker-compose.prod.yml pull # Update til ny version docker-compose -f docker-compose.prod.yml restart # Restart ``` ## πŸ“‹ Krav ### Development - Docker Desktop eller Podman - Git ### Production - Docker eller Podman - PostgreSQL (via container) - Nginx reverse proxy - SSL certifikat ## πŸ—οΈ Projekt Struktur ``` bmc_hub/ β”œβ”€β”€ app/ β”‚ β”œβ”€β”€ core/ β”‚ β”‚ β”œβ”€β”€ config.py # Konfiguration β”‚ β”‚ └── database.py # PostgreSQL helpers β”‚ β”œβ”€β”€ models/ β”‚ β”‚ └── schemas.py # Pydantic models β”‚ β”œβ”€β”€ routers/ β”‚ β”‚ β”œβ”€β”€ customers.py # Customer CRUD β”‚ β”‚ β”œβ”€β”€ hardware.py # Hardware management β”‚ β”‚ └── billing.py # Billing endpoints β”‚ β”œβ”€β”€ services/ β”‚ β”‚ └── economic.py # e-conomic integration β”‚ └── jobs/ β”‚ └── sync_job.py # Scheduled jobs β”œβ”€β”€ static/ β”‚ └── index.html # Dashboard UI β”œβ”€β”€ migrations/ # Database migrations β”œβ”€β”€ docker-compose.yml # Local development β”œβ”€β”€ docker-compose.prod.yml # Production deployment β”œβ”€β”€ Dockerfile # Docker image β”œβ”€β”€ requirements.txt # Python dependencies β”œβ”€β”€ .env.example # Environment template (local) β”œβ”€β”€ .env.prod.example # Environment template (production) └── main.py # FastAPI application ``` ## πŸ”Œ API Endpoints - `GET /api/v1/customers` - List customers - `GET /api/v1/hardware` - List hardware - `GET /api/v1/billing/invoices` - List invoices - `GET /health` - Health check Se fuld dokumentation: http://localhost:8000/api/docs ## πŸ§ͺ Testing ```bash # Install test dependencies pip install pytest pytest-cov # Run tests pytest # Run with coverage pytest --cov=app ``` ## πŸ“„ License MIT License ## πŸ“ž Support - **Issues**: Gitea Issues - **Dokumentation**: `/api/docs` - **Email**: support@bmcnetworks.dk --- **Made with ❀️ by BMC Networks**