La plateforme ultime pour gérer sa vie de gamer. Fusionnant gestion de collection (Backlog), suivi de progression détaillé, coaching par IA et planification intelligente du temps de jeu.
Le projet est organisé en un dépôt unique (Monorepo) contenant à la fois le Backend et le Frontend :
- 📂
client/: Frontend réalisé avec Next.js 14 (App Router), React, Tailwind CSS. - 📂
server/: Backend réalisé avec NestJS, Prisma (ORM) et Swagger pour la documentation API. - 🗄 Database : PostgreSQL hébergé localement via Docker.
Avant de commencer, assurez-vous d'avoir installé les outils suivants sur votre machine :
- Node.js (v18 ou supérieur) & npm.
- Docker Desktop (Doit être lancé pour faire tourner la base de données).
- Git.
- VS Code (Recommandé) avec les extensions : ESLint, Prettier, Prisma, Tailwind CSS.
Suivez ces étapes pour configurer l'environnement de développement local.
git clone <url_du_repo>
cd gametracker
2. Installer les dépendances
Il faut installer les paquets pour le serveur ET le client séparément.# 1. Installation du Backend
cd server
npm install
cd ../client
npm install
3. Configurer la Base de Données (Docker)
Assurez-vous que Docker Desktop est lancé (la baleine est verte ou "Engine Running").
docker-compose up -d
docker ps
- Initialiser la Base de Données (Prisma) Une fois la BDD allumée, nous devons pousser le schéma (création des tables).
cd server
npx prisma db push
Pour développer, vous aurez besoin de deux terminaux ouverts simultanément.
cd server
npm run start:dev
✅ API URL : http://localhost:3000
📘 Swagger (Documentation & Test API) : http://localhost:3000/api
🗃 Prisma Studio (Visualiser la BDD) : npx prisma studio
cd client
npm run dev
✅ Web URL : http://localhost:3001
Tester l'API : Rendez-vous sur http://localhost:3000/api pour essayer les routes (ex: Créer un utilisateur).
Voir la BDD : Lancez npx prisma studio dans le dossier server pour voir les données brutes.
Backend (/server) Framework : NestJS (Modular Architecture)
Langage : TypeScript
Database : PostgreSQL 15
ORM : Prisma
Documentation : Swagger / OpenAPI
Framework : Next.js 14 (App Router)
Langage : TypeScript
Styling : Tailwind CSS
Composants : Shadcn/ui (prévu)
State Management : React Hooks / Context
IGDB : Métadonnées des jeux (Covers, Dates, Genres).
Steam Web API : Importation de bibliothèque.
Riot Games API : Stats compétitives (League of Legends).
Ne jamais travailler directement sur la branche main ou master.
Créer une branche pour chaque nouvelle fonctionnalité :
git checkout -b feat/nom-de-la-feature
Faire des commits atomiques et descriptifs :
git commit -m "feat(users): ajout de la route inscription"
Développé avec ❤️ par l'équipe GameLife.