Files
dofus-manager/docs/prd/technical-assumptions.md
2026-01-19 08:52:38 +01:00

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