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
814 B
814 B
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.