VacationVibe : Application de réservation de locations de vacances
VacationVibe est une application de réservation Full Stack qui permet aux utilisateurs de réserver des locations de vacances, offrant ainsi une expérience transparente pour la réservation d'hébergements. L'application permet aux utilisateurs de créer des annonces pour leurs propres propriétés, donnant ainsi aux propriétaires la possibilité de présenter leurs locations à des invités potentiels. Avec VacationVibe , les utilisateurs peuvent facilement rechercher des propriétés disponibles, afficher les détails de la propriété, effectuer des réservations et gérer leurs réservations.
Pour découvrir VacationVibe par vous-même, veuillez visiter notre site Web pour une démonstration en direct :
Visitez le site Web pour une démonstration en direct
Principales fonctionnalités
- Système de réservation : les utilisateurs peuvent facilement rechercher des propriétés disponibles et effectuer des réservations.
- Création d'annonces : les propriétaires peuvent créer et gérer leurs annonces.
- Tableau de bord : les propriétaires ont accès à un tableau de bord où ils peuvent gérer leurs annonces et consulter les demandes de réservation.
- Comptes d'utilisateurs : les utilisateurs peuvent créer des comptes pour enregistrer leurs propriétés préférées et gérer leurs réservations.
Pile technologique
L'application a été développée en utilisant les technologies suivantes :
- MongoDB : une base de données NoSQL utilisée pour stocker les données de propriété et d'utilisateur.
- Express.js : un framework côté serveur pour créer des API RESTful et gérer la logique côté serveur.
- React : Une bibliothèque JavaScript pour créer des interfaces utilisateur.
- Tailwind CSS : un framework CSS axé sur les utilitaires utilisé pour styliser le frontend.
- Node.js : un environnement d'exécution JavaScript utilisé pour exécuter le code côté serveur.
- Vercel : Une plateforme cloud d'hébergement et de déploiement de sites statiques, utilisée pour déployer le frontend de l'application.
- AWS S3 : Amazon Simple Storage Service (S3) pour le stockage de fichiers, permettant aux utilisateurs de télécharger et de récupérer des images de propriété. Il permet un stockage de fichiers sécurisé et évolutif, garantissant un système fiable et efficace pour gérer les images de propriété.
Commencer
Pour exécuter l'application VacationVibe localement, procédez comme suit :
- Cloner le référentiel :
git clone https://github.com/junaidsaleem10144/VacationVibe.git
- Accédez au répertoire du projet :
cd VacationVibe
- Installez les dépendances :
- Backend : accédez au dossier
api
et exécutez npm install
- Frontend : accédez au dossier
client
et exécutez npm install
- Créez un fichier
.env
dans le dossier api
et fournissez les variables d'environnement nécessaires. Vous pouvez vous référer au fichier .env.example
pour les variables requises. - Démarrez les serveurs de développement :
- Backend : dans le dossier
api
, exécutez npm run dev
- Frontend : dans le dossier
client
, exécutez npm run start
Vous pouvez désormais accéder à l'application VacationVibe en ouvrant votre navigateur et en visitant http://localhost:4000
.
Structure des dossiers
Le projet suit une structure de dossiers spécifique :
-
api/
: contient le code backend, y compris la configuration du serveur, les routes et les modèles. -
client/
: contient le code frontend, y compris les composants, les styles et les actifs React.
Remerciements
Nous tenons à exprimer notre gratitude aux ressources et bibliothèques suivantes qui ont joué un rôle déterminant dans le développement de VacationVibe :
Back-end
- bcryptjs : Bibliothèque pour hacher et comparer les mots de passe.
- cookie-parser : Middleware pour analyser les cookies dans Express.
- cors : middleware pour activer le partage de ressources cross-origine (CORS).
- dotenv : Module de chargement de variables d'environnement à partir d'un fichier .env.
- jsonwebtoken : bibliothèque pour générer et vérifier les jetons Web JSON (JWT).
- mangouste : bibliothèque de modélisation de données objet (ODM) pour MongoDB.
- multer : Middleware pour gérer les téléchargements de fichiers dans Express.
- @aws-sdk/client-s3 : une bibliothèque client pour interagir avec Amazon S3 pour stocker des fichiers.
- image-downloader : bibliothèque pour télécharger des images à partir d'URL.
- mime-types : bibliothèque pour travailler avec les types MIME.
- express : framework Web pour Node.js.
Dépendances de développement (Backend) :
- nodemon : utilitaire qui redémarre automatiquement le serveur Node.js lorsque des modifications de fichiers sont détectées.
L'extrémité avant
- axios : Bibliothèque pour faire des requêtes HTTP.
- date-fns : Bibliothèque pour manipuler et formater les dates.
- réagir-router-dom : bibliothèque pour gérer le routage dans les applications React.
- réagir : bibliothèque JavaScript pour créer des interfaces utilisateur.
- réagir-dom : package pour le rendu des composants React.
Dépendances de développement (Frontend) :
- @types/react : définitions de types pour React.
- @types/react-dom : définitions de types pour React DOM.
- @vitejs/plugin-react : plugin Vite pour le support de React.
- autoprefixer : plugin PostCSS pour ajouter des préfixes de fournisseur au CSS.
- postcss : outil de post-processeur CSS.
- tailwindcss : framework CSS axé sur les utilitaires.
- vite : outil de création pour le développement Web moderne.
Merci d'avoir choisi VacationVibe ! Si vous avez des questions ou des commentaires, n'hésitez pas à nous contacter.
Contribuer
Les contributions à l'application VacationVibe sont les bienvenues ! Si vous rencontrez des problèmes ou souhaitez ajouter de nouvelles fonctionnalités, n'hésitez pas à ouvrir une pull request.
Licence
Ce projet est sous licence MIT.