A simple Web Application that manages Bookings.
# For simplicity, env file will not be added to .gitignore
REACT_APP_SERVER_URI='http://localhost:3001'
REACT_APP_SCHEDULE_START_TIME='08:00:00'
REACT_APP_SCHEDULE_END_TIME='17:00:00'
Install dependencies
// go to directory
npm install
Mock Server (json-server)
npm run mock:server
The mock server should now be running in localhost:3001
Start Web Application
npm start
The app should now be running on localhost:3000.
Running Cypress Tests (cypress)
npm run cypress:open
An interactive cypress browser should appear.
Bookings
Name | Type | Sample |
---|---|---|
id | string | length + 1 |
roomName | string | -- |
hostName | string | -- |
guestsName | string | -- |
date | date | yyyy-mm-dd |
from | string | 12:00 |
to | string | 13:00 |
- Booking List Page (/)
- List of Booking
- Edit Booking (with Icon)
- Delete Booking (with Icon)
- Sortable Booking
- Meeting Room name
- Host name
- Guests name
- Date
- From-To (08:00-17:00)
- Able to Filtered By:
- By the date interval (only days, not times) of the booking time
- By meeting room
- Full Text search
- user name(?) (Might be hostName)
- meeting room name
- Single Meeting Room Details Page (/booking/:id)
- This page can display the name of the room with any image and details about the room/ It should also display the bookings made for that particular room.
- A booking can be 30 minute or 1 hour long
- The first booking start time at 8:00 AM, the last one (start time) at 5:00 PM
- Booking start time and end time has to be on the same day
- A meeting room can not be booked if already booked for the chosen time
- Responsive
- Form Validation
- Error handler
- Documented Code
- Cypress Test Case
- Should be able to show the list of Bookings
- Should be able to filter and sort the table
- Should be able to delete a booking
- Must not delete a booking if cancel is clicked
- Should be able to update a booking
- Should be able to show error when the booking is not 30-mins or 1 hour long
- Should be able to show error when the schedule is not in between of 8:00am - 5pm
- Should be able to View the Booking
- Should be able to show the list of Bookings
- Add Booking
- Pagination of Booking
- Login
- Validation: Can't create booking for previous dates