VacationVibe : App zur Buchung von Ferienunterkünften
VacationVibe ist eine Full-Stack-Buchungs-App, die es Benutzern ermöglicht, Ferienunterkünfte zu buchen und so eine nahtlose Erfahrung bei der Reservierung von Unterkünften bietet. Mit der App können Benutzer Einträge für ihre eigenen Immobilien erstellen und Immobilieneigentümern so die Möglichkeit geben, ihre Mietobjekte potenziellen Gästen zu präsentieren. Mit VacationVibe können Benutzer ganz einfach nach verfügbaren Unterkünften suchen, Objektdetails anzeigen, Buchungen vornehmen und ihre Reservierungen verwalten.
Um VacationVibe aus erster Hand zu erleben, besuchen Sie bitte unsere Website für eine Live-Demo:
Besuchen Sie die Website für eine Live-Demo
Hauptmerkmale
- Buchungssystem: Benutzer können einfach nach verfügbaren Unterkünften suchen und Buchungen vornehmen.
- Eintragserstellung: Immobilieneigentümer können ihre Einträge erstellen und verwalten.
- Dashboard: Immobilieneigentümer haben Zugriff auf ein Dashboard, über das sie ihre Einträge verwalten und Buchungsanfragen einsehen können.
- Benutzerkonten: Benutzer können Konten erstellen, um ihre Lieblingsunterkünfte zu speichern und ihre Buchungen zu verwalten.
Technologie-Stack
Die Anwendung wurde mit folgenden Technologien entwickelt:
- MongoDB: Eine NoSQL-Datenbank zum Speichern von Eigenschafts- und Benutzerdaten.
- Express.js: Ein serverseitiges Framework zum Erstellen von RESTful-APIs und zur Handhabung serverseitiger Logik.
- React: Eine JavaScript-Bibliothek zum Erstellen von Benutzeroberflächen.
- Tailwind CSS: Ein Utility-First-CSS-Framework, das für die Gestaltung des Frontends verwendet wird.
- Node.js: Eine JavaScript-Laufzeitumgebung, die zum Ausführen des serverseitigen Codes verwendet wird.
- Vercel: Eine Cloud-Plattform für das Hosting und die Bereitstellung statischer Websites, die zur Bereitstellung des Frontends der Anwendung verwendet wird.
- AWS S3: Amazon Simple Storage Service (S3) zur Dateispeicherung, der Benutzern das Hochladen und Abrufen von Immobilienbildern ermöglicht. Es ermöglicht eine sichere und skalierbare Dateispeicherung und gewährleistet so ein zuverlässiges und effizientes System für die Verarbeitung von Immobilienbildern.
Erste Schritte
Um die VacationVibe -App lokal auszuführen, führen Sie die folgenden Schritte aus:
- Klonen Sie das Repository:
git clone https://github.com/junaidsaleem10144/VacationVibe.git
- Navigieren Sie zum Projektverzeichnis:
cd VacationVibe
- Installieren Sie die Abhängigkeiten:
- Backend: Navigieren Sie zum
api
Ordner und führen Sie npm install
aus - Frontend: Navigieren Sie zum
client
-Ordner und führen Sie npm install
aus
- Erstellen Sie eine
.env
Datei im api
-Ordner und stellen Sie die erforderlichen Umgebungsvariablen bereit. Die erforderlichen Variablen finden Sie in der Datei .env.example
. - Starten Sie die Entwicklungsserver:
- Backend: Führen Sie im
api
Ordner npm run dev
aus - Frontend: Führen Sie im
client
-Ordner npm run start
aus
Jetzt können Sie auf die VacationVibe -App zugreifen, indem Sie Ihren Browser öffnen und http://localhost:4000
aufrufen.
Ordnerstruktur
Das Projekt folgt einer bestimmten Ordnerstruktur:
-
api/
: Enthält den Backend-Code, einschließlich Server-Setup, Routen und Modelle. -
client/
: Enthält den Frontend-Code, einschließlich React-Komponenten, -Stile und -Assets.
Danksagungen
Wir möchten den folgenden Ressourcen und Bibliotheken unseren Dank aussprechen, die maßgeblich zur Entwicklung von VacationVibe beigetragen haben:
Backend
- bcryptjs: Bibliothek zum Hashen und Vergleichen von Passwörtern.
- cookie-parser: Middleware zum Parsen von Cookies in Express.
- cors: Middleware zur Aktivierung von Cross-Origin Resource Sharing (CORS).
- dotenv: Modul zum Laden von Umgebungsvariablen aus einer .env-Datei.
- jsonwebtoken: Bibliothek zum Generieren und Überprüfen von JSON Web Tokens (JWT).
- mongoose: Object Data Modeling (ODM)-Bibliothek für MongoDB.
- multer: Middleware zur Abwicklung von Datei-Uploads in Express.
- @aws-sdk/client-s3: Eine Client-Bibliothek für die Interaktion mit Amazon S3 zum Speichern von Dateien.
- image-downloader: Bibliothek zum Herunterladen von Bildern von URLs.
- mime-types: Bibliothek zum Arbeiten mit MIME-Typen.
- express: Webframework für Node.js.
Entwicklungsabhängigkeiten (Backend):
- nodemon: Dienstprogramm, das den Node.js-Server automatisch neu startet, wenn Dateiänderungen erkannt werden.
Frontend
- axios: Bibliothek zum Senden von HTTP-Anfragen.
- date-fns: Bibliothek zum Bearbeiten und Formatieren von Datumsangaben.
- React-Router-Dom: Bibliothek zur Handhabung des Routings in React-Anwendungen.
- reagieren: JavaScript-Bibliothek zum Erstellen von Benutzeroberflächen.
- React-Dom: Paket zum Rendern von React-Komponenten.
Entwicklungsabhängigkeiten (Frontend):
- @types/react: Typdefinitionen für React.
- @types/react-dom: Typdefinitionen für React DOM.
- @vitejs/plugin-react: Vite-Plugin für React-Unterstützung.
- autoprefixer: PostCSS-Plugin zum Hinzufügen von Herstellerpräfixen zu CSS.
- postcss: CSS-Postprozessor-Tool.
- tailwindcss: Utility-First-CSS-Framework.
- vite: Build-Tool für moderne Webentwicklung.
Vielen Dank, dass Sie sich für VacationVibe entschieden haben! Wenn Sie Fragen oder Feedback haben, können Sie sich gerne an uns wenden.
Mitwirken
Beiträge zur VacationVibe -App sind willkommen! Wenn Sie Probleme feststellen oder neue Funktionen hinzufügen möchten, können Sie gerne eine Pull-Anfrage eröffnen.
Lizenz
Dieses Projekt ist unter der MIT-Lizenz lizenziert.