Booking is a reservation MERN Stack application, built with MongoDB, Express.js, React.js, Node.js, ContextAPI, Material UI.
Clone down this repository. You will need node
and npm
installed globally on your machine.
Clone the repo:
git clone https://github.com/el-sherbini/Booking
Run terminal command:
cd client
npm install
cd admin
npm install
cd server
npm install
PORT = "YOUR PREFERRED PORT"
MONGODB_URI = "YOUR MONGODB CONNECTION URL"
JWT_SECRET = "YOUR JWT SECRET"
Server:
cd server
npm satrt
Client:
cd client
npm satrt
Admin Dashboard:
cd admin
npm satrt
y // => to run the admin dashboard in another port from the client
Client:
localhost:3000
Server:
localhost:5000
Admin Dashboard:
localhost:3001
- React.js
- ContextAPI
- React-router-dom
- Axios
- Sass
- Date-fns
- Deact-date-range
- Font Awesome
- React-circular-progressbar
- Recharts
- Node.js
- Express.js
- MongoDB
- Mongoose
- JWT
- Bcryptjs
- Cors
- Nodemon
- User can login with username and password.
- User gets the number of featured hotels for specific cities.
- User gets the number of every property available.
- User gets the featured properties for specific cities.
- User can search for property available by (city - duration - number of people and rooms).
- User can filter search results by minimum and maximum price per night.
- User gets the information for the hotel and the price of the rooms he chose.
- Authorized users only can reserve rooms.
- Reserved rooms will be disabled for any other operation during the reserved dates.
- Admin can view, create and delete (users - hotels - rooms).
- User Registration UI.
- Admin update (users - hotels - rooms) UI.
- Admin view (User - Hotel - Room) profile page.
- Admin Dashboard insights.