How check77tp/electronics-gadget-store--pos--group-22 works
GadgetPOS is a web-based electronics-retail POS. Staff use the React application to authenticate, manage products and stock, complete sales, review transactions, and view or export reports; requests cross the FastAPI REST boundary into domain controllers and persistence. The documented product also includes user management and low-stock alerts. The excerpts show checkout, product/inventory, and reporting wiring; user/auth route internals and several frontend API-to-page links are not sampled, so those connections are kept at the documented HTTP boundary.
Main entry points: App.jsx React application · database.py Session & storage · main.py FastAPI app · inventory_controller.py Catalog & inventory
Components 26
Staff application
- React application
frontend/src/App.jsx - Auth context
frontend/src/context/AuthContext.jsx - POS terminal
frontend/src/pages/PosTerminalPage.jsx - Catalog & stock
frontend/src/pages/ProductsPage.jsx - Inventory view
frontend/src/pages/InventoryPage.jsx - Transaction history
frontend/src/pages/TransactionsPage.jsx - Reports dashboard
frontend/src/pages/ReportsPage.jsx - User management
frontend/src/pages/UserManagementPage.jsx - HTTP client
frontend/src/api/client.js
REST interface
- FastAPI app
backend/app/main.py - Sales routes
backend/app/api/routes_sales.py - Product routes
backend/app/api/routes_products.py - Report routes
backend/app/api/routes_reports.py - Auth routes
backend/app/api/routes_auth.py - User routes
backend/app/api/routes_users.py
Retail operations
- Sales workflow
backend/app/domain/controllers/sales_controller.py - Catalog & inventory
backend/app/domain/controllers/inventory_controller.py - Report aggregation
backend/app/domain/controllers/report_controller.py
Technical services
- Session & storage
backend/app/technical_services/persistence/database.py - Retail records
backend/app/domain/models.py - Payment gateway
backend/app/business_infrastructure/payment_gateway.py - Alert delivery
backend/app/technical_services/notifications/sms_service.py - Email service
backend/app/technical_services/notifications/email_service.py
Other components
- Store staff
- Payment provider
- SMS service
Connections 30
- Store staff → React application: uses
- React application → Auth context: authenticates via
- React application → POS terminal: routes to
- React application → Catalog & stock: routes to
- React application → Inventory view: routes to
- React application → Transaction history: routes to
- React application → Reports dashboard: routes to
- React application → User management: routes to
- React application → HTTP client: uses HTTP
- HTTP client → FastAPI app: sends REST requests
- FastAPI app → Sales routes: registers
- FastAPI app → Product routes: registers
- FastAPI app → Report routes: registers
- FastAPI app → Auth routes: registers
- FastAPI app → User routes: registers
- Sales routes → Sales workflow: calls
- Sales routes → Session & storage: requests session
- Sales workflow → Session & storage: reads and writes
- Sales workflow → Payment gateway: authorizes payment
- Payment gateway → Payment provider: integrates
- Product routes → Catalog & inventory: calls
- Product routes → Session & storage: requests session
- Catalog & inventory → Session & storage: reads and writes
- Catalog & inventory → Alert delivery: sends low-stock alert
- Alert delivery → SMS service: sends SMS
- Catalog & inventory → Email service: sends alert email
- Report routes → Report aggregation: calls
- Report routes → Session & storage: requests session
- Report aggregation → Session & storage: queries records
- Session & storage → Retail records: persists