2.1 KiB
2.1 KiB
Technical Assumptions
Repository Structure: Monorepo
Projet organisé en monorepo :
/
├── src/
│ ├── routes/ # Pages et API routes (TanStack Start)
│ ├── components/ # Composants React réutilisables
│ ├── lib/ # Utilitaires, clients API, helpers
│ └── server/ # Server functions, services
├── prisma/ # Schéma et migrations Prisma
├── docker/ # Configuration Docker
└── docs/ # Documentation projet
Service Architecture: Monolith Full-Stack
Architecture monolithique avec TanStack Start :
- Frontend : React avec TanStack Router (file-based routing)
- Backend : Server functions intégrées à TanStack Start
- Base de données : PostgreSQL avec Prisma ORM
Testing Requirements: Unit + Integration
| Type | Scope | Outils |
|---|---|---|
| Unit | Logique métier, validations, helpers | Vitest |
| Integration | API routes, queries DB | Vitest + testcontainers |
| E2E | Non prioritaire MVP | (Playwright en V2) |
Additional Technical Assumptions and Requests
Stack technique :
- Framework : TanStack Start (React full-stack)
- ORM : Prisma (type-safe, migrations robustes, écosystème mature)
- UI Components : shadcn/ui (composants copiés, personnalisables)
- Tables : TanStack Table (tri, filtres, pagination)
- Database : PostgreSQL 16+
- Container : Docker + Docker Compose
Infrastructure :
- Reverse proxy : Traefik (existant sur le serveur)
- CI/CD : GitLab personnel (pipelines de build et déploiement)
- Hébergement : Serveur dédié personnel
Intégration externe :
- DofusDB API : Client HTTP pour récupérer les données de référence
- Sync manuelle ou cron pour mise à jour des données de jeu
Conventions de code :
- TypeScript strict mode
- ESLint + Prettier
- Conventional commits (feat:, fix:, chore:, etc.)
Déploiement :
- Docker Compose (app + postgres)
- Pipeline GitLab CI pour build et push des images
- Labels Traefik pour routing automatique