Architecture Notes - FEUP-MEIC-DS-2025-26/madeinportugal.store GitHub Wiki

Architecture Notes

Backend (Python/FastAPI)

  • Clean separation: models, services, API routes
  • SQLModel ORM for database operations
  • Dependency injection for sessions
  • CORS enabled for local development

Frontend (React/TypeScript)

  • Component-based structure
  • Simple state management (useState)
  • No routing library (state-based navigation)
  • Form validation before API calls

Database

  • SQLite file: backend/data/vendors.db
  • Auto-creates on first run
  • JSON columns for dynamic questions
  • Indexed on email for performance

Key Design Decisions

  • Fallback pattern for resilience
  • 5 hardcoded verification questions
  • No authentication (prototype MVP)
  • Status-based workflow (pending → approved/rejected)