Bienvenue dans le référentiel de l'API de l'Auberge Magique, une solution de gestion pour une auberge située dans un monde médiéval-fantastique.
L'objectif de cette API est de permettre la gestion d'une auberge magique située dans un monde médiéval-fantastique. Les utilisateurs peuvent réserver des chambres, commander de la nourriture et profiter d'une expérience immersive dans cet univers fantastique.
Ce projet utilise les technologies suivantes :
NestJS est un framework de développement d'applications serveur pour Node.js. Il utilise TypeScript et suit l'architecture modulaire.
Prisma est un ORM (Object-Relational Mapping) moderne pour Node.js et TypeScript. Il permet de communiquer avec la base de données de manière sécurisée et efficace.
Supabase est une plateforme open-source qui fournit une base de données PostgreSQL en temps réel et des services backend. Elle facilite le développement d'applications modernes.
- Inscription : Les utilisateurs peuvent s'inscrire en fournissant un nom d'utilisateur, un mot de passe et une adresse e-mail.
- Authentification : Les utilisateurs peuvent se connecter avec leurs identifiants.
- Profils Utilisateur : Chaque utilisateur a un profil avec des informations telles que le nom, la race, la classe (guerrier, mage, voleur, etc.).
- Liste de Chambres : Afficher une liste de chambres disponibles avec des détails tels que le type de chambre (standard, deluxe, magique), la capacité, le prix, etc.
- Réservation : Les utilisateurs peuvent réserver des chambres pour une ou plusieurs nuits.
- Gestion des Réservations : Les utilisateurs peuvent consulter et annuler leurs réservations.
- Menu : Afficher un menu de plats et de boissons magiques disponibles à la commande.
- Commande : Les utilisateurs peuvent passer des commandes de nourriture et de boissons pour leur séjour.
- Facturation : Calculer le coût total de la commande et facturer les utilisateurs.
- Gestion des Chambres : Les administrateurs peuvent ajouter, mettre à jour ou supprimer des chambres, en spécifiant leurs caractéristiques et leur disponibilité.
- Gestion du Menu : Les administrateurs peuvent ajouter, mettre à jour ou supprimer des éléments du menu, en spécifiant leurs prix et leurs propriétés.
- Authentification et Autorisation : Assurer que seuls les utilisateurs authentifiés ont accès à la réservation de chambres et à la commande de nourriture.
- Sécurité des Données : Protéger les données utilisateur et les transactions contre les menaces potentielles.
- Temps de Réponse Rapide : Assurer des temps de réponse rapides pour les requêtes de réservation et de commande.
- Stockage des Données : Stocker les informations sur les chambres, les utilisateurs, les réservations, le menu de manière sécurisée et évolutive.
- API REST fonctionnelle avec des points d'extrémité bien documentés.
- Documentation complète de l'API pour les développeurs.
Pour installer et exécuter cette API, suivez ces étapes :
-
Clônez ce référentiel :
git clone https://github.com/ni0cl4s/api-magic-inn.git
-
Accédez au répertoire du projet :
cd api-magic-inn
-
Installez les dépendances nécessaires :
npm install
-
Configurez les variables d'environnement requises, telles que les informations de connexion Supabase, les clés secrètes, etc.
-
Exécutez l'API :
npm start
L'API sera désormais accessible à l'adresse : http://localhost:3333/api.
La documentation de l'API est disponible à http://localhost:3333/swagger et fournit des informations détaillées sur les points d'extrémité, les requêtes, les réponses et les exemples d'utilisation.
Pour déployer l'API en production, suivez ces étapes :
-
Construisez l'API :
npm run build
-
Lancez l'API en mode production :
npm start:prod
L'API sera désormais accessible en production à l'adresse spécifiée.