Go to file
Christian eacbd36e83 feat: Implement Transcription Service for audio files using Whisper API
- Added `transcription_service.py` to handle audio transcription via Whisper API.
- Integrated logging for transcription processes and error handling.
- Supported audio format checks based on configuration settings.

docs: Create Ordre System Implementation Plan

- Drafted comprehensive implementation plan for e-conomic order integration.
- Outlined business requirements, database changes, backend and frontend implementation details.
- Included testing plan and deployment steps for the new order system.

feat: Add AI prompts and regex action capabilities

- Created `ai_prompts` table for storing custom AI prompts.
- Added regex extraction and linking action to email workflow actions.

feat: Introduce conversations module for transcribed audio

- Created `conversations` table to store transcribed conversations with relevant metadata.
- Added indexing for customer, ticket, and user linkage.
- Implemented full-text search capabilities for Danish language.

fix: Add category column to conversations for classification

- Added `category` column to `conversations` table for better conversation classification.
2026-01-11 19:23:21 +01:00
.github Add Material Blue design templates for dashboard and customer overview pages 2025-12-06 02:22:01 +01:00
app feat: Implement Transcription Service for audio files using Whisper API 2026-01-11 19:23:21 +01:00
data Initial BMC Hub setup 2025-12-05 14:22:39 +01:00
docs feat: Implement Transcription Service for audio files using Whisper API 2026-01-11 19:23:21 +01:00
logs Initial BMC Hub setup 2025-12-05 14:22:39 +01:00
manual_backup_20260102_103605 Add SFTP connection and file management script 2026-01-02 12:52:47 +01:00
manual_backup_20260102_104430 Add SFTP connection and file management script 2026-01-02 12:52:47 +01:00
migrations feat: Implement Transcription Service for audio files using Whisper API 2026-01-11 19:23:21 +01:00
scripts Add scripts for managing e-conomic customer numbers 2026-01-06 19:59:07 +01:00
static feat: Implement central tagging system with CRUD operations, entity tagging, and workflow management 2025-12-17 07:56:33 +01:00
uploads Initial BMC Hub setup 2025-12-05 14:22:39 +01:00
.dockerignore Initial BMC Hub setup 2025-12-05 14:22:39 +01:00
.env.bak Add SFTP connection and file management script 2026-01-02 12:52:47 +01:00
.env.bak2 Add SFTP connection and file management script 2026-01-02 12:52:47 +01:00
.env.example Feature: Add sync page to settings 2025-12-19 13:09:42 +01:00
.env.prod.example Fix: Add missing env vars to Settings class and remove inline comments from .env 2025-12-17 17:28:50 +01:00
.gitignore Initial BMC Hub setup 2025-12-05 14:22:39 +01:00
BACKUP_RESTORE_TEST_PLAN.md Add SFTP connection and file management script 2026-01-02 12:52:47 +01:00
bmc_hub_dev.code-workspace feat: Add Simply-CRM integration setup documentation and configuration details 2025-12-16 15:36:11 +01:00
compare_schemas.py Fix: Bedre case title fallback og klarere fejlbesked for manglende customer linking 2026-01-05 10:42:57 +01:00
deploy_to_prod.sh feat: Add new time tracking wizard and registrations view 2026-01-10 01:37:08 +01:00
DEPLOYMENT_CHECKLIST.md Production deployment setup: Add deployment scripts, update paths to /srv/podman/bmc_hub_v1.0, add GITEA_URL config 2025-12-17 17:12:10 +01:00
DEVELOPMENT.md Initial BMC Hub setup 2025-12-05 14:22:39 +01:00
docker-compose.prod.yml fix: Use localhost/ prefix for local images (v1.3.107) 2026-01-05 15:57:19 +01:00
docker-compose.yml v1.3.64 - Redesigned sync architecture with clear field ownership 2025-12-24 10:34:13 +01:00
docker-compose.yml.bak2 feat: Add template editing functionality and improve file loading logic 2025-12-08 23:46:18 +01:00
docker-compose.yml.bak3 feat: Add template editing functionality and improve file loading logic 2025-12-08 23:46:18 +01:00
Dockerfile feat: Enhance email processing and backup scheduling 2026-01-06 15:11:28 +01:00
Kunder-2.xlsx Add scripts for managing e-conomic customer numbers 2026-01-06 19:59:07 +01:00
LICENSE Initial commit 2025-12-05 14:21:01 +01:00
list_routes.py feat(timetracking): Implement time tracking module with frontend views, HTML templates, and database migrations 2025-12-09 22:46:30 +01:00
main.py feat: Implement Transcription Service for audio files using Whisper API 2026-01-11 19:23:21 +01:00
MIGRATION_GUIDE_v2.0.0.md feat(migrations): add supplier invoice enhancements for accounting integration 2026-01-07 10:32:41 +01:00
nohup.out feat: Implement supplier invoices management with e-conomic integration 2025-12-07 03:29:54 +01:00
PRODUCTION_DEPLOYMENT.md Docs: Update deployment guide with v1.0.3 and inline comment warning 2025-12-17 17:29:09 +01:00
PRODUCTION_QUICK_START.md Fix: Add build dependencies for psycopg2-binary, update CORS to IP address 2025-12-17 17:21:03 +01:00
PRODUCTION_SERVER_SETUP.sh Fix: Add build dependencies for psycopg2-binary, update CORS to IP address 2025-12-17 17:21:03 +01:00
QUICK_UPDATE.md Fix: Opdateret guide - download script fra Gitea i stedet for git pull 2025-12-22 13:13:45 +01:00
README.md feat: Add Simply-CRM integration setup documentation and configuration details 2025-12-16 15:36:11 +01:00
RELEASE_NOTES_v1.0.0.md Fix: Add build dependencies for psycopg2-binary, update CORS to IP address 2025-12-17 17:21:03 +01:00
RELEASE_NOTES_v1.3.5.md Feature: Tilføjet /api/v1/settings/sync-from-env endpoint til at synkronisere .env værdier ind i settings database 2025-12-22 11:04:09 +01:00
RELEASE_NOTES_v1.3.75.md feat: Implement SFTP offsite backup functionality (v1.3.75) 2026-01-02 12:35:02 +01:00
RELEASE_NOTES_v1.3.76.md fix: Timetracking wizard approval endpoint (v1.3.76) 2026-01-02 12:45:25 +01:00
RELEASE_NOTES_v1.3.84.md docs: Update deployment instructions for podman 2026-01-02 13:06:19 +01:00
requirements.txt feat(migrations): add supplier invoice enhancements for accounting integration 2026-01-07 10:32:41 +01:00
test_ai_analyze.py feat: Enhance billing frontend with Jinja2 templates and improve invoice handling 2025-12-08 09:15:52 +01:00
test_billed_field.py feat: Implement tracking of billed Hub order ID for time entries and update related services 2026-01-08 18:57:04 +01:00
test_bulk_customer_update.py Feature: Bulk customer hourly rate updates (v1.3.52) 2025-12-23 14:31:10 +01:00
test_cvr_filter.py feat: Enhance billing frontend with Jinja2 templates and improve invoice handling 2025-12-08 09:15:52 +01:00
test_quick_analysis.py feat: Implement quick analysis on PDF upload for CVR, document type, and number extraction 2025-12-09 14:54:33 +01:00
test_routes.py feat(timetracking): Implement time tracking module with frontend views, HTML templates, and database migrations 2025-12-09 22:46:30 +01:00
test_sftp.py Add SFTP connection and file management script 2026-01-02 12:52:47 +01:00
test_subscription_singular.py feat: Implement vTiger integration for subscriptions and sales orders 2025-12-11 23:14:20 +01:00
test_subscriptions.py feat: Implement vTiger integration for subscriptions and sales orders 2025-12-11 23:14:20 +01:00
test_ticket_module.py feat(ticket-module): Implement ticket system with comprehensive database schema, permissions, and testing suite 2025-12-15 23:40:23 +01:00
test_vtiger_account.py feat: Implement tracking of billed Hub order ID for time entries and update related services 2026-01-08 18:57:04 +01:00
test_vtiger_accounts.py v1.3.64 - Redesigned sync architecture with clear field ownership 2025-12-24 10:34:13 +01:00
test_vtiger_contact.py v1.3.64 - Redesigned sync architecture with clear field ownership 2025-12-24 10:34:13 +01:00
test_vtiger_fields.py feat: Implement vTiger integration for subscriptions and sales orders 2025-12-11 23:14:20 +01:00
test_vtiger_modules.py feat: Implement vTiger integration for subscriptions and sales orders 2025-12-11 23:14:20 +01:00
updateto.sh Update script syncer nu migrations fra container til host 2026-01-02 14:41:20 +01:00
VERSION chore: Bump version to 1.3.123 2026-01-06 13:17:36 +01:00

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

# 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:8001/api/docs  # API docs
open http://localhost:8001            # Web UI

Standard ports (for at undgå konflikter):

  • API: 8001 (mapped til container port 8000)
  • PostgreSQL: 5433 (mapped til container port 5432)

Note: Auto-reload er deaktiveret som standard for at undgå log spam. Når du ændrer kode, skal du genstarte containeren:

docker-compose restart api

Hvis du ønsker live reload (med potentiel log spam), sæt ENABLE_RELOAD=true i .env.

Live Deployment

# 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

docker-compose up -d        # Start systemet
docker-compose logs -f      # Se logs
docker-compose down         # Stop systemet

Production

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

# Install test dependencies
pip install pytest pytest-cov

# Run tests
pytest

# Run with coverage
pytest --cov=app

📄 License

MIT License

📞 Support


Made with ❤️ by BMC Networks