Skip to content

This project is a full-stack rent-a-car application built with React for the frontend and Express, Node.js, and MongoDB for the backend. Personally, I think this is my best project so far.

Notifications You must be signed in to change notification settings

Suksii/rentacar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

85 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Rent a Car Project

About

This project is a full-stack rent-a-car application built with React for the frontend and Express, Node.js, and MongoDB for the backend.
The application allows users to:

  • Register and log in
  • Browse available cars
  • View car details
  • Make reservations
  • View their reservations
  • Rate booked car
  • Search through their reservations

Administrators can:

  • Edit and delete cars
  • Add new cars
  • View car details
  • Approve users' reservations
  • View all clients and reservations
  • Search through clients and reservations

Features

  • User Authentication: Register, login, logout, and profile management.
  • Car Management: View all cars, add new cars, update car details, delete cars, and upload car images.
  • Reservation Management: Make reservations, view client-specific reservations, and view all reservations.
  • Responsive Design: Optimized for various screen sizes using TailwindCSS.

Pages

Register and Login Pages

rentacar-admin-registration rentacar-admin-login
Register Page Login Page

Admin

Home Page Admin

Admin HomePage

Car Actions

rentacar-admin-add_car rentacar-admin-edit_car
Add Car Page Edit Car Page
rentacar-admin-clients rentacar-admin-reservations
Clients Page Reservations Page

Client

rentacar - client - myBookings

Backend

  • Node.js
  • Express
  • MongoDB
  • Mongoose
  • JWT
  • Bcrypt
  • Multer
  • Other Libraries: cookie-parser, cors, dotenv, fs, nodemon.

Frontend

  • React
  • Axios
  • React Router
  • React Hook Form
  • Yup
  • Date-fns
  • React Icons
  • TailwindCSS
  • React Hot Toast

API Endpoints

User Routes

  • POST /api/users/register - Register a new user
  • POST /api/users/login - Login a user
  • POST /api/users/logout - Logout a user
  • GET /api/users/profile - Get user profile
  • GET /api/users - Get all users (admin)

Car Routes

  • GET /api/cars - Get all cars
  • GET /api/cars/:id - Get a specific car
  • POST /api/cars/add - Add a new car
  • POST /api/cars/upload - Upload car image
  • PUT /api/cars/update/:id - Update car details
  • DELETE /api/cars/delete/:id - Delete a car
  • POST /api/cars/:id/rating - Rate a car

Reservation Routes

  • GET /api/reservations - Get all reservations
  • GET /api/reservations/client-reservations - Get client-specific reservations
  • POST /api/reservations/add/:id - Add a new reservation
  • PUT /api/reservations/:id/rate
  • POST /api/reservations/:id/approve - Approve or decline reservations

About

This project is a full-stack rent-a-car application built with React for the frontend and Express, Node.js, and MongoDB for the backend. Personally, I think this is my best project so far.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published