How nomi-214/new_jeddah_motors works
New Jeddah Motors is a showroom-management application. Staff authenticate in the React app, then manage inventory, customers, sales, payments, and operating records through a FastAPI API; the API persists business data and supports dashboard reporting. The README documents the major product capabilities, while sampled source confirms API registration, OTP email delivery, and installment payment behavior. Several page-to-endpoint details are documented but not sampled, so those links reflect the documented contract rather than inspected call sites.
Main entry points: main.py FastAPI application · database.py Database access · App.jsx React routes · client.js HTTP client
Components 27
Web application
- React routes
frontend/src/App.jsx - Login and signup
frontend/src/pages/Login.jsx - Dashboard
frontend/src/pages/Dashboard.jsx - Cars
frontend/src/pages/Cars.jsx - Customers
frontend/src/pages/Customers.jsx - Sales
frontend/src/pages/Sales.jsx - Installments
frontend/src/pages/Installments.jsx - Transactions and expenses
frontend/src/pages/Transactions.jsx - Staff and audit
frontend/src/pages/Users.jsx - Auth state
frontend/src/context/AuthContext.jsx - HTTP client
frontend/src/api/client.js
API workflows
- FastAPI application
backend/main.py - Authentication
backend/routers/auth_router.py - Inventory API
backend/routers/cars.py - Customer accounts
backend/routers/customer_accounts.py - Sales API
backend/routers/sales.py - Installment plans
backend/routers/installments.py - Cash ledger
backend/routers/transactions.py - Expense tracking
backend/routers/expenses.py - Reports
backend/routers/reports.py - User management
backend/routers/users.py - Audit logs
backend/routers/audit_logs.py
Shared backend
- Database access
backend/database.py - Business models
backend/models.py
External services
- SQL database
- SMTP email provider
Other components
- Showroom staff
Connections 44
- Showroom staff → React routes: uses
- React routes → Login and signup: routes
- React routes → Dashboard: routes
- React routes → Cars: routes
- React routes → Customers: routes
- React routes → Sales: routes
- React routes → Installments: routes
- React routes → Transactions and expenses: routes
- React routes → Staff and audit: routes
- Login and signup → Auth state: authenticates
- Auth state → HTTP client: requests
- Login and signup → HTTP client: requests
- Dashboard → HTTP client: requests
- Cars → HTTP client: requests
- Customers → HTTP client: requests
- Sales → HTTP client: requests
- Installments → HTTP client: requests
- Transactions and expenses → HTTP client: requests
- Staff and audit → HTTP client: requests
- HTTP client → FastAPI application: sends HTTP
- FastAPI application → Authentication: mounts
- FastAPI application → Inventory API: mounts
- FastAPI application → Customer accounts: mounts
- FastAPI application → Sales API: mounts
- FastAPI application → Installment plans: mounts
- FastAPI application → Cash ledger: mounts
- FastAPI application → Expense tracking: mounts
- FastAPI application → Reports: mounts
- FastAPI application → User management: mounts
- FastAPI application → Audit logs: mounts
- Authentication → Database access: queries
- Inventory API → Database access: queries
- Customer accounts → Database access: queries
- Sales API → Database access: queries
- Installment plans → Database access: reads and writes
- Cash ledger → Database access: queries
- Expense tracking → Database access: queries
- Reports → Database access: queries
- User management → Database access: queries
- Audit logs → Database access: queries
- Database access → Business models: maps entities
- Database access → SQL database: persists
- Authentication → SMTP email provider: sends OTP
- Sales API → Installment plans: creates plans