Key Features • How To Use • Credits • Extra • Ideas For Future Development • Contact
- Responsive UI
- Single Page Application (faster loading experience)
- Create new reservations
- Search for registered reservations in the system
- Register new restaurant tables by specifying name and table capacity
- View all reservations by chosen date
- Edit reservation details. ex. => Reservation Time, Reservation Date, Number of People
- Cancel a reservation
- Seat guests by accessing their registered reservation in the system and choosing free restaurant table
- Free a table when given reservation is complete.
To clone and run this application, you'll need Git, Node.js, MySQL (needed since the application and the database aren't hosted currently)
# Clone this repository
$ git clone https://github.com/slavyanHristov/restaurant-table-reservation-system.git
# Go into the repository
$ cd restaurant-table-reservation-system
# Install dependencies
$ npm install
# Create environment variables file
$ touch .\back-end\.env
# Add environment variables to the file
$ echo "DB_USERNAME=<your_db_username> DB_PASSWORD=<your_db_password> DB_NAME=rtrs_db DB_HOST=localhost DB_DIALECT=mysql DB_PORT=3306 PORT=5000" >> .\back-end\.env
# Run the app in production mode
$ npm run start:prod
# Run the app in development mode (nodemon dependency needed)
$ npm run start:dev
This software uses the following open source packages:
The UI/UX Design is built by the help of Figma
The UI/UX Design can be found here:
Readme files introducing the developed project:
YouTube video diplaying the end-product of the project:
- Integration of payment systems. (Customers shouldn't reserve restaurant tables for free)
- Make the system more large-scale. For example, make it handle multiple restaurants.
- Implement mailing service which notifies customers for details about their reservation.
- Development of unit, integration and end-to-end tests.
- Restaurant should have schedule. On some days of the week the restaurant could be closed or opened earlier or later. Or on the other hand it won't work at all. In such cases there should be validations which prevent from making reservations.
Note If any issues are encountered or you want to collaborate with me on developing further the project please contact me at:
GitHub @slavyanHristov · Gmail [email protected] · ABV [email protected] (for bulgarian audience)