The backend API supports the following endpoints:
-
Reservations:
GET /reservations
: List all reservationsPOST /reservations
: Create a new reservationGET /reservations/:reservationId
: Get a specific reservationPUT /reservations/:reservationId
: Update a specific reservationPUT /reservations/:reservationId/status
: Update the status of a specific reservation
-
Tables:
GET /tables
: List all tablesPOST /tables
: Create a new tablePUT /tables/:tableId/seat
: Seat a reservation at a tableDELETE /tables/:tableId/seat
: Finish an occupied table
Dashboard with daily reservations overview.
Form for creating a new reservation.
The Restaurant Reservation System is designed for fine dining restaurants to manage reservations efficiently. Restaurant personnel use the system to create and manage reservations when customers call. The system provides an intuitive interface for managing reservation details, table assignments, and reservation statuses, ensuring a smooth operational flow within the restaurant.
-
Frontend:
- HTML: Structure of web pages.
- CSS: Styling of the user interface, including the layout and design elements.
- JavaScript: Interactive functionalities for dynamic user experiences.
- React: A JavaScript library for building user interfaces, facilitating the development of single-page applications with interactive UIs.
- React Router: Declarative routing for React applications, enabling navigation between different components.
-
Backend:
- Node.js: JavaScript runtime for building fast and scalable network applications.
- Express.js: Web application framework for Node.js, designed for building web applications and APIs.
- PostgreSQL: Robust and feature-rich open source relational database system.
-
Other Tools:
- Knex.js: SQL query builder for JavaScript, supporting PostgreSQL, MySQL, and SQLite3.
- Jest: JavaScript testing framework for unit and integration tests.
- Dotenv: A zero-dependency module that loads environment variables from a
.env
file intoprocess.env
.
- Clone the repository: git clone https://github.com/Ricardo0331/restaurant-reservation.git
- Navigate into the project directory: cd restaurant-reservation
- Install backend dependencies: cd back-end *** npm install
- Install frontend dependencies: cd ../front-end *** npm install
- Set up your
.env
files in both theback-end
andfront-end
directories. - Start the application: npm run start:dev
Your application should now be running on localhost:3000
(frontend) and localhost:5001
(backend).