This project is a single-page application for managing reservations at Turing Cafe, built with React.
Turing Cafe is a reservation management portal that allows users to view, create, and manage reservations. The application interacts with an API to persist reservation data and provides a seamless user experience with real-time updates.
- JavaScript
- React
- react-dom
- Cypress
- jest-environment-jsdom-sixteen
- react-scripts
- ESLint
- Browserslist
- fsevents (for filesystem events)
- Node.js (for package management and scripts)
To set up the project locally, follow these steps:
-
Fork and Clone the Repository:
- Fork the repository to your own GitHub account.
- Clone the forked repository to your local machine.
git clone https://github.com/your-username/turing-cafe-ui.git cd turing-cafe-ui -
Install Dependencies:
- Run
npm installto install all required dependencies.
npm install
- Run
-
Start the Development Server:
- Run
npm startto start the React development server.
npm start
- Run
-
Run Cypress Tests:
- Run
npm run cypressto start the Cypress testing server.
npm run cypress
- Run
- View Reservations: Displays all existing reservations on page load.
- Create Reservations: Allows users to create new reservations through a controlled form.
- Persist Data: Saves new reservations to the API, ensuring data persists across page reloads.
- Delete Reservations: Users can cancel reservations, and the deletion persists across page reloads.
- Error Handling: Add error handling for form validation and network requests.
- Menu Viewing: Add functionality to view the cafe's menu by integrating a new API endpoint.
- Sorting Reservations: Implement sorting options for reservations by date.
- Additional Tests: Write additional tests to cover edge cases and improve test coverage.
Feel free to reach out with any questions or feedback!
