Skip to content

LatthiasM/GameTracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎮 GameLife Companion

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.


🏗 Architecture du Projet (Monorepo)

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.

🛠 Prérequis Système

Avant de commencer, assurez-vous d'avoir installé les outils suivants sur votre machine :

  1. Node.js (v18 ou supérieur) & npm.
  2. Docker Desktop (Doit être lancé pour faire tourner la base de données).
  3. Git.
  4. VS Code (Recommandé) avec les extensions : ESLint, Prettier, Prisma, Tailwind CSS.

🚀 Installation & Démarrage Rapide

Suivez ces étapes pour configurer l'environnement de développement local.

1. Cloner le projet

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

2. Installation du Frontend (dans un nouveau terminal)

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").

À la racine du projet (là où se trouve docker-compose.yml)

docker-compose up -d

Vérifier que le conteneur 'gamelife_db' est actif

docker ps
  1. 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

Synchroniser le schéma Prisma avec la BDD Docker

npx prisma db push

🏃‍♂️ Lancer l'application

Pour développer, vous aurez besoin de deux terminaux ouverts simultanément.

Terminal 1 : Backend (API)

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

Terminal 2 : Frontend (Interface)

cd client
npm run dev

✅ Web URL : http://localhost:3001

🧪 Tests & Vérification

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.

🛠 Stack Technique Détaillée

Backend (/server) Framework : NestJS (Modular Architecture)

Langage : TypeScript

Database : PostgreSQL 15

ORM : Prisma

Documentation : Swagger / OpenAPI

Frontend (/client)

Framework : Next.js 14 (App Router)

Langage : TypeScript

Styling : Tailwind CSS

Composants : Shadcn/ui (prévu)

State Management : React Hooks / Context

APIs Externes (Prévues)

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).

🤝 Workflow Git

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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published