🎯 La Sfida
Per un maker professionale, gestire il flusso di lavoro su Excel è un collo di bottiglia insostenibile. Le sfide principali che ho identificato sono:
- Cecità sui Margini: Senza un calcolo preciso al grammo, è impossibile sapere il vero profitto di una stampa.
- Gestione Inventario Caotica: Impossibile tracciare il consumo parziale di decine di bobine aperte simultaneamente.
- Inefficienza Operativa: Tempo perso a inserire dati manuali invece di stampare e vendere.
L'obiettivo era eliminare l'incertezza finanziaria trasformando un hobby costoso in un business data-driven.
💡 La Soluzione
3D Print Tracker non è solo un database, è un sistema operativo per la gestione della produzione additiva. Ho progettato la UX per ridurre a zero l'attrito durante le operazioni quotidiane:
- Smart Inventory: Decremento automatico dello stock basato sui grammi stampati.
- Instant Calc: Algoritmo che calcola costi, markup e margini netti in tempo reale durante l'ordine.
- Workflow Ottimizzato: Inserimento vendite in mobilità progettato per richiedere meno di 30 secondi.
- Business Intelligence: Dashboard con metriche finanziarie (R O I, Revenue, Net Profit) per decisioni basate sui fatti.
(Dashboard principale con analytics finanziari e stato inventario)
🛠️ Stack Tecnologico
Ho scelto uno stack Modern Full-Stack focalizzato su Type-Safety e Performance. L'architettura è pensata per scalare da un singolo utente a migliaia senza modifiche infrastrutturali.
| Layer | Tecnologia | Why it matters |
|---|---|---|
| Core | Next.js 15 (App Router) | Architettura ibrida Client/Server components per massima interattività. |
| Styling | Tailwind CSS + shadcn/ui | UI coerente, accessibile e dark-mode native. |
| Data Layer | PostgreSQL (Supabase) | Affidabilità relazionale enterprise-grade. |
| Backend Logic | Serverless Functions | Costi zero in inattività, scaling infinito sotto carico. |
| Validation | Zod + React Hook Form | Gestione robusta degli input e type-safety end-to-end. |
| Auth | NextAuth.js v5 | Sicurezza stateless basata su JWT e provider OAuth. |
📐 Architettura
Serverless Flow
Il diagramma illustra il flusso dei dati in un ambiente completamente Serverless. L'utente si autentica tramite NextAuth (Google OAuth), interagendo con il Frontend Next.js.
Le richieste vengono gestite da API Routes che agiscono come funzioni serverless, comunicando con il database Supabase tramite Prisma ORM. Questo garantisce sicurezza, type-safety e scalabilità automatica senza gestire server fisici.
Data Schema
Entity Relationships
Lo schema evidenzia le relazioni centrali del gestionale. La sicurezza è garantita a livello di database: ogni Utente possiede esclusivamente i propri prodotti e bobine.
Il cuore logico collega le Stampe (Print) alle bobine (FilamentSpool) utilizzate. Questo permette al sistema di calcolare in tempo reale il consumo in grammi e il relativo costo materiale, sottraendolo automaticamente dallo stock disponibile.
🔐 Security & Data Governance
La sicurezza non è una feature opzionale. Ho implementato un modello Zero-Trust a livello applicativo:
- Authentication: Nessuna password salvata. Accesso esclusivo tramite provider OAuth 2.0 sicuri.
- Authorization: Sistema RBAC (Role-Based Access Control) implicito.
- Data Isolation: Logica di accesso ai dati basata rigorosamente sul
userId. Ogni query al database viene intercettata e filtrata alla radice per garantire che nessun utente possa mai accedere ai dati di un altro, prevenendo data leak orizzontali.
🚀 Engineering Process
1. Requirements & Data Modeling
Partendo dai limiti di Excel, ho modellato il database per riflettere le relazioni reali tra Bobina, Stampa e Prodotto finito. L'uso di Prisma Schema ha permesso di iterare rapidamente sulle relazioni one-to-many.
2. DX & Infrastructure
Ho configurato una pipeline CI/CD su Vercel: ogni commit sul branch main innesca build, linting e deploy automatico. Questo mi ha permesso di rilasciare fix e feature in minuti, non ore.
3. Solving Complexity: Cost Tracking
La sfida ingegneristica maggiore è stata mantenere la coerenza dei costi nel tempo. Se il prezzo di acquisto di una bobina cambia, lo storico non deve essere alterato. Ho risolto implementando snapshot dei costi al momento della transazione, garantendo report finanziari immutabili e precisi.
📊 Impact & Optimization
Il passaggio dal tracciamento manuale a un sistema automatizzato ha trasformato radicalmente l'operatività. Non si tratta solo di risparmiare tempo, ma di abilitare la scalabilità.
| KPI Misurato | Vecchio Processo (Excel) | Nuovo Processo (App) | Miglioramento |
|---|---|---|---|
| Data Entry | 3-5 min/ordine | 25 sec/ordine | 12x Faster |
| Margine | Stimato a occhio | Calcolo Esatto | 100% Accuracy |
| Decision Making | Basato su intuito | Data-Driven | - |
| Inventory Time | 2 ore/mese | 0 min (Auto) | Automazione Totale |
🔗 Explore the Code
Questo progetto è open-source per dimostrare le mie capacità nella costruzione di applicazioni reali, complesse e scalabili.
- Vedi il Codice: GitHub Repository
- Prova la Demo: Live Application