How masydeloitte/aiinfraapp_newapproach_29_09 works
This is a local AI infrastructure sizing application. Users sign in, create a project, enter workload and data assumptions, request deterministic capacity estimates, and view projections, warnings, and downloadable reports. Administrators maintain sizing catalogs. The API owns authentication, authorization, calculation orchestration, persistence, catalog administration, and report generation; the frontend presents those workflows. The calculation pipeline and API/storage implementation were sampled; additional capabilities are included only where the README documents them.
Main entry points: session.py Database sessions · main.py Calculation API · page.tsx Sizing workspace · security.py JWT and RBAC
Components 20
Web workflows
- Sign in
frontend/app/page.tsx - Projects dashboard
frontend/app/dashboard/page.tsx - Sizing workspace
frontend/app/projects/[id]/page.tsx - Catalog admin
frontend/app/admin/page.tsx
API services
- Auth and access
backend/app/main.py - JWT and RBAC
backend/app/core/security.py - Project API
backend/app/main.py - Calculation API
backend/app/main.py - Catalog API
backend/app/main.py - Report endpoints
backend/app/main.py - Request schemas
backend/app/schemas.py - JSON PDF XLSX
backend/app/main.py
Sizing domain
- Sizing pipeline
backend/app/engine/pipeline.py - Sizing result
Catalog and records
- Domain records
backend/app/models/entities.py - Database sessions
backend/app/db/session.py - PostgreSQL
- Sizing catalogs
backend/app/models/entities.py - Calculation runs
backend/app/models/entities.py
Other components
- User
Connections 32
- User → Sign in: signs in
- Sign in → Auth and access: login request
- Auth and access → JWT and RBAC: verifies credentials
- JWT and RBAC → Database sessions: loads user
- Database sessions → PostgreSQL: queries
- Auth and access → Sign in: returns token
- User → Projects dashboard: manages projects
- Projects dashboard → Project API: creates and lists
- Project API → Request schemas: validates input
- Project API → JWT and RBAC: requires user
- Project API → Database sessions: reads and writes
- Database sessions → Domain records: maps entities
- User → Sizing workspace: enters sizing inputs
- Sizing workspace → Calculation API: submits assumptions
- Calculation API → Request schemas: validates request
- Calculation API → JWT and RBAC: requires user
- Calculation API → Database sessions: loads project and catalogs
- Database sessions → Sizing catalogs: reads catalog items
- Calculation API → Sizing pipeline: calculates from snapshot
- Sizing pipeline → Sizing result: produces estimates
- Calculation API → Database sessions: persists run
- Database sessions → Calculation runs: stores result and lineage
- Calculation API → Sizing workspace: returns sizing result
- Sizing workspace → Report endpoints: requests report
- Report endpoints → Database sessions: loads calculation
- Report endpoints → JSON PDF XLSX: formats report
- JSON PDF XLSX → Sizing workspace: serves download
- User → Catalog admin: administers catalogs
- Catalog admin → Catalog API: reads and creates items
- Catalog API → JWT and RBAC: requires admin
- Catalog API → Database sessions: reads and writes
- Database sessions → Calculation runs: loads saved runs