initial commit
This commit is contained in:
62
docs/prd/technical-assumptions.md
Normal file
62
docs/prd/technical-assumptions.md
Normal file
@@ -0,0 +1,62 @@
|
||||
# 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
|
||||
|
||||
---
|
||||
Reference in New Issue
Block a user