How ikrgycloud/updated-qr works
Sri BioAesthetics is a full-stack product catalog and QR-information application. Users register or sign in, then browse, create, edit, soft-delete, restore, and permanently remove products; they can generate and store QR snapshots for product information. The React app invokes the FastAPI routes, which delegate domain work to services and persist product, user, and QR records through SQLAlchemy. The README also documents PostgreSQL initialization and an Nginx /api proxy, but their runtime configuration files are not present in the supplied tree, so those links are documented rather than source-verified.
Main entry points: App.jsx React app · main.py FastAPI app · database.py Database session · dependencies.py Auth dependency
Components 25
Web application
- React app
forntend/src/App.jsx - Product views
forntend/src/components/ProductWorkspace.jsx - Product editor
forntend/src/components/ProductEditor.jsx - Product picker
forntend/src/components/ProductPicker.jsx - Deleted products
forntend/src/components/DeletedProductsPanel.jsx - API client
forntend/src/api.js
HTTP API
- FastAPI app
backend/app/main.py - Auth routes
backend/app/routers/auth.py - Product routes
backend/app/routers/products.py - QR routes
backend/app/routers/qr.py - Health route
backend/app/routers/health.py
Domain services
- Authentication
backend/app/services/auth_service.py - Product catalog
backend/app/services/product_service.py - QR generation
backend/app/services/qr_service.py - Request schemas
backend/app/schemas
Persistence and security
- Configuration
backend/app/core/config.py - Token security
backend/app/core/security.py - Auth dependency
backend/app/core/dependencies.py - Database session
backend/app/core/database.py - Product records
backend/app/models/product.py - User records
backend/app/models/user.py - QR records
backend/app/models/generated_qr.py
Other components
- User
- PostgreSQL
- Nginx proxy
Connections 34
- User → React app: uses
README.md - React app → Product views: renders
forntend/src/App.jsx - React app → Product editor: renders
forntend/src/App.jsx - React app → Product picker: renders
forntend/src/App.jsx - React app → Deleted products: renders
forntend/src/App.jsx - React app → API client: calls
forntend/src/App.jsx - API client → Nginx proxy: sends /api
README.md - Nginx proxy → FastAPI app: proxies requests
README.md - FastAPI app → Auth routes: registers
backend/app/main.py - FastAPI app → Product routes: registers
backend/app/main.py - FastAPI app → QR routes: registers
backend/app/main.py - FastAPI app → Health route: registers
backend/app/main.py - FastAPI app → Database session: initializes
backend/app/main.py - Auth routes → Authentication: delegates
backend/app/routers/auth.py - Product routes → Product catalog: delegates
backend/app/routers/products.py - QR routes → QR generation: delegates
backend/app/routers/qr.py - Auth routes → Request schemas: validates with
backend/app/routers/auth.py - Product routes → Request schemas: validates with
backend/app/routers/products.py - QR routes → Request schemas: validates with
backend/app/routers/qr.py - Auth routes → Auth dependency: requires user
backend/app/routers/auth.py - Product routes → Auth dependency: requires user
backend/app/routers/products.py - QR routes → Auth dependency: requires user
backend/app/routers/qr.py - Authentication → Token security: hashes and signs
backend/app/services/auth_service.py - Auth dependency → Token security: decodes token
backend/app/core/dependencies.py - Authentication → User records: reads and writes
backend/app/services/auth_service.py - Auth dependency → User records: loads user
backend/app/core/dependencies.py - Product catalog → Product records: reads and writes
backend/app/services/product_service.py - QR generation → Product catalog: builds snapshot
backend/app/services/qr_service.py - QR generation → QR records: records history
backend/app/services/qr_service.py - Database session → Configuration: reads URL
backend/app/core/database.py - Database session → Product records: creates tables
backend/app/core/database.py - Database session → User records: creates tables
backend/app/core/database.py - Database session → QR records: creates tables
backend/app/core/database.py - Database session → PostgreSQL: connects
README.md