Hotel Booking Application built using MERN (MongoDB, Express, React, Node) stack technologies.
- NodeJS
- ExpressJS
- MongoDB
- React
- TypeScript
- Tailwind CSS
- Cloudinary - Cloud-based image and video storage service.
- Stripe - Payment Gateway Platform to secure online payments and is commonly used to handle transactions in web applications.
-
User Authentication
Implemented secure login and registration using HTTP cookies and JWT for a seamless user experience. -
Hotel Management
Implemented the ability to add, edit, and view hotels. From handling form inputs to managing state, ensuring efficient hotel management. -
Image Uploads
Integrated image uploads using Cloudinary Service , allowing users to easily upload and showcase images for each hotel listing, enhancing visual appeal. -
Search, Sort, & Filter
Enhanced user experience with robust search, sort, and filter functionalities. Users can effortlessly find their perfect stay based on preferences. -
Online Payments
Integrated Stripe for secure and efficient hotel booking payments, providing a seamless and trusted payment experience. -
Booking Management
Implemented features to view and manage bookings, allowing users to keep track of reservations and easily manage their bookings. -
Recent Hotels on Home Page
Displayed recently added hotels on the home page, keeping the content dynamic and engaging. Users can discover fresh and exciting accommodation options easily.
-
Backend:
- Navigate to the
backend
directory. - Install dependencies:
npm install
. - Start the server:
npm run dev
. - The application should now be running on
http://localhost:7000
- Navigate to the
-
Frontend:
- Open a new terminal and navigate to the
frontend
directory. - Install dependencies:
npm install
. - Start the frontend application:
npm run dev
. - The application should now be running on
http://localhost:5173
but verify this in your command line terminal
- Open a new terminal and navigate to the
Below is the Payment Gateway (Stripe) Integration workflow with both client and server side. Stripe Integration WorkFlow
-
End-to-End testing Performed end-to-end testing on the multiple features of application using playwright extension in VSCode.
-
Code Quality Tried to maintain good code quality and industry best practices.