Loozamax est une plateforme de paris en ligne centrée sur les prédictions : les utilisateurs formulent des pronostics sur des événements (sportifs, culturels ou personnalisés), misent des points virtuels et suivent l'évolution des probabilités.
Fonctionnalités principales : création et gestion des prédictions, système de mises (votes), publications et discussions attachées à une prédiction, chronologie et historique des paris, système de points et boutique de cosmétiques pour personnaliser le profil, ainsi que des rôles utilisateurs (admin / user) pour la modération et la validation des résultats.
Construit pour l'apprentissage et l'expérimentation, Loozamax est développé avec une architecture full‑stack moderne (React + Vite côté client, NestJS côté API, MongoDB pour la persistance) et les tests automatisés (Jest).
Sommaire
Tableur d'avancement : Google sheets
Specification : Google docs
Pour obtenir une copie locale et la faire fonctionner, suivez ces étapes simples.
- npm version 7+ (recommandé npm 11+)
- Node.js version 20+ (recommandé Node.js 24.x LTS)
- MongoDB version 4.4+
- (Production) Serveur HTTP (NGINX, Apache, ...)
- Cloner le repo
git clone https://github.com/Synnly/technos-web-m2
- Installer les packages NPM
npm install
Les variables d'environnement du client se situent dans le fichier /apps/client/.env.
Modifiez VITE_API_URL pour configurer l'url de l'API
VITE_API_URL=http://localhost:3000/apiLes variables d'environnement de l'API se situent dans le fichier /apps/api/.env.
Modifiez CLIENT_URL pour configuer l'url du client
CLIENT_URL=http://localhost:5173Modifiez PORT pour configurer le port de l'API
PORT=3000Modifiez DATABASE_URL pour configurer l'url de la base de données
DATABASE_URL=mongodb://localhost/nestModifiez JWT_SECRET pour modifier le secret JWT. Un secret de moins de 256 bits est déconseillé.
JWT_SECRET=<secret JWT>Important
Il est impératif de changer le secret JWT de lancer le projet
Modifiez ENABLE_AI_PRONOSTICS pour activer / désactiver le pronostic par IA. Si le paramètre vaut false, les deux prochains paramètres n’ont aucune influence
ENABLE_AI_PRONOSTICS=false
Modifiez LANGSEARCH_API_KEY pour modifier la clé API LangSearch
LANGSEARCH_API_KEY=REPLACE_WITH_YOUR_OWN_KEY
Modifiez OPENAI_API_KEY pour modifier la clé API OpenAI
OPENAI_API_KEY=REPLACE_WITH_YOUR_OWN_KEY
npm run devPar défaut, l'API est joignable à localhost:3000 et le client à localhost:5173
Pour lancer seulement l'API
npm run apiPour lancer seulement le client
npm run clientD'abord compilez le projet
npm run buildPuis démarrez l'API
npm run start- Création de compte
- Connexion
- Déconnexion
- Suppression de compte
- Modification de compte
- Création de prédiction
- Vote de prédiction
- Confirmer le résultat d’une prédiction
- Créer une publication sous une prédiction
- Récupérer les points quotidiens
- Répondre à une publication
- Liker une publication
- Changer de cosmétique
- Acheter un cosmétique pour son profil
- Valider une prédiction
- Afficher les probabilités de la prédiction par IA
- Refonte de l'UI
Emanuel Fernandes dos Santos - mail UL - mail pro
Médéric Cuny - mail UL - mail pro
Lien du projet: https://github.com/Synnly/technos-web-m2
Tutoriels





