My project is a Booking System API has a lot of functionalities.
Key Features:
User Authentication
JWT Tokens: Secure user authentication endpoints using JWT tokens to ensure safe and secure access.
User Registration & Login: Allow users to register and log in to the system.
Password Management: Enable password reset and change functionalities.
User Profiles
Fetch & Update Profiles: Allow users to fetch and update their account details, including booking rooms and contact information.
Fetch All Users: Admin can fetch details of all users.
Hotels:
Add Hotel: Admin can add new hotels.
Delete Hotel: Admin can delete existing hotels.
Update Hotel: Admin can update details of existing hotels.
Rooms:
Add Room: Admin can add new rooms to a hotel.
Delete Room: Admin can delete existing rooms.
Update Room: Admin can update details of existing rooms.
Booking:
Room Booking: Users can book a room if it is available.
Recommendation:
Personalized Recommendations: Users receive recommendations based on their booking history and preferences.
Review:
CRUD Operations: Allow users to add, update, and delete reviews.
Upload Images:
Manage Images: Upload and manage images to be included in hotels or rooms.
Pagination:
Efficient Data Retrieval: Paginate large data sets for efficient retrieval and presentation.
Search:
Search Functionality: Search by various fields to find relevant data quickly.
Technologies is used:
- JavaScript
- Nodejs (ExpressJS)
- multer
- Cloudinary as a cloud service
- jwt for authentication
- authorization
- Mongodb database
- Bcrypt for password hashing
- express async handler catch errors and resolve it
- global error handler