GamerChallenges Svelte Themes

Gamerchallenges

Application web communautaire dédiée aux défis de jeux vidéo. Permet aux joueurs de proposer, réaliser et voter pour des challenges compétitifs. Développée en équipe avec une architecture Node.js/Express, Svelte et PostgreSQL

🎮 GamerChallenges

GamerChallenges est une application web communautaire permettant aux joueurs de proposer, réaliser et partager des défis de jeux vidéo. Ce projet a été conçu et développé en équipe dans le cadre de la validation du Titre Professionnel Développeur Web et Web Mobile (École O'Clock, Promotion Florence).


🚀 Présentation du projet

La plateforme offre un espace immersif où la communauté gaming peut interagir autour de ses jeux préférés :

  • Consultation : Accès à une bibliothèque de jeux et aux challenges associés.
  • Création : Les utilisateurs connectés peuvent soumettre de nouveaux défis avec règles et niveaux de difficulté.
  • Participation : Dépôt de preuves de réussite (liens vidéo) pour validation par la communauté.
  • Social : Système de vote pour mettre en avant les meilleurs challenges et les performances les plus impressionnantes.

🛠️ Stack Technique

Back-end (Mon rôle : Lead Developer)

  • Environnement : Node.js & Express.js.
  • Base de données : PostgreSQL avec l'ORM Sequelize.
  • Architecture : Mise en place d'un BaseController orienté objet pour factoriser les opérations CRUD et assurer la maintenabilité du code.
  • Sécurité :
    • Authentification via JSON Web Token (JWT).
    • Hashage des mots de passe avec Argon2.
    • Validation rigoureuse des données entrantes avec la bibliothèque Joi.

Front-end

  • Framework : Svelte.
  • Design : TailwindCSS pour une interface moderne, sombre et totalement Responsive (Mobile First).

DevOps & Déploiement

  • Docker : Conteneurisation des services (API, Client, PostgreSQL, Nginx) pour garantir un environnement de développement et de production identique.
  • CI/CD : Déploiement automatisé via GitHub Actions lors du push de tags de version.
  • Serveur : Reverse Proxy configuré sous Nginx.

📦 Installation et Lancement (Développement)

  1. Cloner le dépôt :

    git clone [https://github.com/votre-pseudo/GamerChallenges.git](https://github.com/votre-pseudo/GamerChallenges.git)
    cd GamerChallenges
    
  2. Configuration :

Créez un fichier .env à la racine de l'API en vous basant sur env.example.

Les variables d'accès à la base de données sont gérées par Docker via .database.env.

  1. Lancement via Docker :

Bash docker compose up --build L'application sera accessible sur http://localhost:3000 (API) et sur le port configuré pour le client.

📖 Méthodologie de travail Le projet a été mené sur 3 semaines en suivant une méthodologie Agile (Scrum) :

Rédaction de User Stories précises.

Modélisation complète de la donnée (MCD, MLD, MPD).

Gestion du workflow Git avec un Git Master dédié.

Définition d'un MVP (Minimum Viable Product) pour garantir la livraison d'une version stable dans les délais.

Ce projet constitue l'aboutissement de ma formation et illustre ma capacité à concevoir des architectures back-end robustes, sécurisées et prêtes pour la production.

Top categories

Loading Svelte Themes