Add complete NexaPantry application structure including: - Docker Compose configuration with PostgreSQL, Redis, FastAPI backend, worker, frontend and Caddy - Environment configuration template with database, auth, and service settings - GitHub Actions CI workflow for backend/frontend linting, testing, auditing and Docker builds - AGPL-3.0 license and comprehensive README with setup, development, and security documentation - Backend
16 lines
814 B
Markdown
16 lines
814 B
Markdown
# Architecture
|
|
|
|
NexaPantry uses a small but explicit service architecture:
|
|
|
|
- React/Vite/TypeScript frontend with TailwindCSS and PWA service worker
|
|
- FastAPI backend with SQLAlchemy ORM
|
|
- PostgreSQL as the system of record
|
|
- Redis for future distributed rate limiting and queued job coordination
|
|
- Caddy as reverse proxy and security header layer
|
|
- Worker process for expiry notifications and mail delivery preparation
|
|
|
|
Core authorization is home-scoped. Every product, shopping item and recipe request first checks the caller's home membership. Instance admins can manage system settings and users through dedicated admin endpoints.
|
|
|
|
External barcode lookup is hidden behind `ProductLookup`, currently implemented by `OpenFoodFactsLookup`. A future provider can be added without changing the frontend contract.
|
|
|