Monorepo — Single Repo, Separate Packages
Structure:
theroad-i1/ ├── backend/ # FastAPI app │ ├── app/ │ │ ├── api/ # Route handlers (auth, users, projects) │ │ ├── core/ # Config, security, DB engine │ │ ├── models/ # SQLAlchemy models │ │ ├── schemas/ # Pydantic schemas (OpenAPI) │ │ ├── services/ # Business logic │ │ ├── modules/ # LLM analysis (future) │ │ └── logging/ # Activity log module │ └── i18n/ # Localized strings (JSON) ├── frontend/ # React + Vite + TS │ ├── src/ │ │ ├── pages/ │ │ ├── components/ │ │ ├── api/ # API client │ │ └── i18n/ # UI strings (JSON) │ └── vite.config.ts ├── prompts/ # External prompt files (versioned) ├── docs/ # Dev log, specs └── projects/ # Project SQLite DBs + assets
Pros
- Clean separation of backend/frontend
- Backend and frontend can be developed/deployed independently
- Standard pattern, easy to understand
- Each module has clear boundaries
Cons
- Need CORS config during dev
- Two dev servers to run
★ Recommended