Alby96andClaude Sonnet 4.6 8a9fb5085a Add Mago4 demo ERP with Python FastAPI
Implements a working in-memory ERP demo inspired by Mago4, covering
the core modules: dashboard with KPI widgets, customers, suppliers,
products, sales orders, purchase orders, and warehouse inventory.

- FastAPI backend with Pydantic models and REST API (auto-docs at /docs)
- Jinja2 HTML templates with Mago4-style UI (dark sidebar, blue/orange/
  green/red palette, Material Design icons)
- In-memory fake database seeded with sample customers, suppliers,
  products, and orders — ready to swap for SQLAlchemy + SQL Server
- Workarounds for Python 3.14 + Starlette 1.3 / Jinja2 compatibility
  (cache_size=0, new TemplateResponse(request, name, ctx) signature)
- launch.json for one-click preview; run.bat for manual startup

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-17 10:17:57 +02:00
2026-06-17 10:17:57 +02:00
2026-06-17 10:17:57 +02:00

Mago4 Demo - ERP Gestionale

Demo funzionante di un gestionale ERP ispirato a Mago4, realizzato con Python FastAPI.

🎯 Caratteristiche

  • Dashboard interattivo con KPI e widget
  • Gestione Clienti - Anagrafica e crediti
  • Gestione Fornitori - Anagrafica e debiti
  • Catalogo Articoli - Inventario con alert sottosorta
  • Ordini Vendita - Creazione e tracciamento
  • Ordini Acquisto - Gestione forniture
  • Magazzino - Inventario con controllo giacenze
  • API REST completamente documentata
  • Database in-memoria per demo (facilmente migrabile a SQL)
  • UI ispirata a Mago4 - Design moderno con Material Icons

🚀 Quick Start

1. Installare dipendenze

pip install -r requirements.txt

2. Avviare l'applicazione

python main.py

L'app sarà disponibile su: http://127.0.0.1:8000

3. Accedere alle sezioni

📁 Struttura del Progetto

mago4-demo/
├── main.py                    # FastAPI app principale
├── models.py                  # Modelli dati (Pydantic)
├── database.py                # Database in-memoria
├── requirements.txt           # Dipendenze Python
├── templates/                 # Template HTML (Jinja2)
│   ├── base.html             # Layout con sidebar
│   ├── dashboard.html        # Dashboard KPI
│   ├── customers.html        # Gestione clienti
│   ├── suppliers.html        # Gestione fornitori
│   ├── products.html         # Catalogo articoli
│   ├── sales_orders.html     # Ordini vendita
│   ├── purchase_orders.html  # Ordini acquisto
│   └── warehouse.html        # Magazzino
└── static/                    # Assets frontend
    ├── css/style.css         # Stili (colori Mago4)
    └── js/app.js             # Funzionalità JS

🎨 Design & Colori (ispirato a Mago4)

  • Blu: #1976D2 (Azioni, statistiche)
  • Arancione: #F57C00 (Avvisi, acquisti)
  • Verde: #388E3C (Conferme, OK)
  • Rosso: #D32F2F (Errori, sottosorta)

📊 Dati Inclusi

  • 4 Clienti: Acme, TechFlow, European Logistics, Alpine Manufacturing
  • 3 Fornitori: Global Components, Asia Electronics, Nordic Materials
  • 5 Articoli: Widget, Connectors, Brackets, Bearings, Control Module
  • 3 Ordini Vendita: SO-2024-0001/0002/0003
  • 3 Ordini Acquisto: PO-2024-0001/0002/0003

🔌 API REST

Tutti gli endpoint sono auto-documentati su /docs (Swagger UI)

Principali endpoint:

  • GET/POST /api/customers
  • GET/POST /api/suppliers
  • GET/POST /api/products
  • GET/POST /api/sales-orders
  • GET/POST /api/purchase-orders
  • GET /api/warehouse/stats
  • GET /api/info

🔄 Migrazione a SQL

Pronto per SQLAlchemy + SQL Server/PostgreSQL:

pip install sqlalchemy sqlmodel

Sostituire database.py con modelli SQLModel e aggiungere connection string.

⚙️ Tech Stack

  • Backend: FastAPI (async Python)
  • Template: Jinja2
  • Validazione: Pydantic
  • DB Demo: In-memoria (list)
  • Frontend: HTML5 + CSS3 + JavaScript vanilla
  • Icons: Material Design Icons
  • Font: Roboto (Google Fonts)

⚠️ Note

  • Demo con dati fittizi in-memoria
  • Per produzione: aggiungere auth, DB reale, validazione completa, HTTPS
  • Facilmente estendibile con nuovi moduli
S
Description
Nuovo gestionale ERP
Readme
105 KiB
Languages
HTML 51.8%
Python 32.6%
CSS 13.8%
JavaScript 1.2%
Batchfile 0.6%