Monster Stack

Documentation README

· fichier chargé depuis le backend ·
Générateur README

Monster Stack

Bienvenue dans Monster Stack, une plateforme web permettant de générer, consulter et mettre en cache des monstres de manière simple et rapide.

L’application repose sur une architecture composée de plusieurs services Docker. Chaque service joue un rôle précis afin de séparer clairement l’interface utilisateur, la logique métier et le stockage temporaire des données.

Concept général

Monster Stack permet de générer automatiquement des monstres avec différentes caractéristiques. Chaque monstre possède une identité propre, des attributs visuels et des informations descriptives.

L’objectif de la plateforme est de fournir une expérience fluide où l’utilisateur peut :

  • générer un nouveau monstre ;
  • consulter les monstres déjà créés ;
  • récupérer rapidement les dernières générations ;
  • visualiser les informations principales de l’application ;
  • accéder à certains fichiers publics de documentation.

Génération de monstres

Lorsqu’un utilisateur demande la génération d’un monstre, le backend crée une nouvelle entrée avec plusieurs propriétés.

Un monstre peut contenir par exemple :

  • un nom ;
  • un type ;
  • une rareté ;
  • une puissance ;
  • une description ;
  • une date de génération.

Le backend se charge de produire ces informations, puis les renvoie au frontend pour affichage.

Cette séparation permet au frontend de rester principalement chargé de l’affichage, tandis que le backend gère la logique de génération.

Système de cache

Monster Stack utilise un système de cache afin d’améliorer les performances.

Le cache permet de conserver temporairement certaines données fréquemment utilisées, comme les derniers monstres générés ou certaines réponses déjà calculées par le backend.

Cela évite de recalculer ou de recharger inutilement les mêmes informations à chaque requête.

Dans cette version, le cache est assuré par Redis, un service léger et rapide utilisé pour stocker des données temporaires.

Rôle des services

L’application fonctionne avec plusieurs conteneurs Docker.

Frontend

Le frontend est responsable de l’interface utilisateur.

Il permet de :

  • afficher la page d’accueil ;
  • présenter les informations de Monster Stack ;
  • interagir avec les boutons de génération ;
  • afficher les résultats retournés par le backend ;
  • lire certains contenus publics au format Markdown.

Le frontend communique avec le backend à travers des requêtes HTTP.

Backend

Le backend contient la logique principale de l’application.

Il s’occupe de :

  • générer les monstres ;
  • exposer les routes API ;
  • interagir avec le cache Redis ;
  • servir certains fichiers publics nécessaires à l’application.

Les routes du backend sont utilisées par le frontend pour récupérer les données dynamiques.

Redis

Redis est utilisé comme système de cache.

Il permet de stocker rapidement certaines informations temporaires afin d’améliorer la rapidité de réponse de l’application.

Redis n’est pas directement exposé à l’utilisateur. Il est uniquement utilisé en interne par les autres services Docker.

Lecture des fichiers publics

Monster Stack contient également un lecteur de fichiers publics.

Ce lecteur permet d’afficher certains fichiers de documentation présents dans le dossier public de l’application.

Par exemple, cette page README est chargée depuis un fichier Markdown public, puis affichée proprement dans l’interface web.

Ce mécanisme permet d’ajouter facilement de la documentation sans modifier directement le code de l’interface.

Architecture simplifiée

Le fonctionnement général peut être résumé ainsi :

Utilisateur
   |
   v
Frontend Web
   |
   v
Backend API
   |
   v
Redis Cache

Le frontend reçoit les actions de l’utilisateur, puis interroge le backend. Le backend traite les demandes, utilise Redis si nécessaire, puis renvoie les résultats au frontend.

Ports utilisés

Dans cette version Docker, les services principaux sont exposés sur les ports suivants :

Frontend : 8543
Backend  : 8544
Redis    : interne uniquement

Le frontend est accessible depuis le navigateur. Le backend est utilisé par le frontend pour récupérer les données de l’application. Redis reste isolé dans le réseau Docker.

Objectif de l’application

Monster Stack montre comment une application moderne peut être découpée en plusieurs services simples :

  • une interface web ;
  • une API backend ;
  • un système de cache ;
  • une orchestration avec Docker Compose.

Cette organisation rend le projet plus facile à comprendre, à lancer, à tester et à faire évoluer.

Résumé

Monster Stack est une application web de génération de monstres utilisant une architecture simple avec Docker.

Elle combine :

  • une interface web claire ;
  • un backend API ;
  • un cache Redis ;
  • une lecture de documentation Markdown ;
  • une séparation propre entre les services.

Ce projet peut servir de base pour comprendre le fonctionnement d’une application web conteneurisée avec un frontend, un backend et un service de cache.