API for managing restaurant reservations with automatic table allocation and robust status tracking. Built for seamless integration with frontend applications and scalability for future features.
- User Authentication: Secure login system with JWT, supporting role-based access control (Admin and Client).
- Smart Table Assignment: Automatically allocates tables based on real-time availability and reservation criteria.
- Reservation Management: Comprehensive support for reservation statuses: Pending, Confirmed, Cancelled, and Completed.
- Scalable Architecture: Designed with modularity in mind, leveraging Django best practices for maintainability.
- API Ready for Frontend Integration: Built with RESTful principles for seamless frontend integration.
Note: This is a beta version. Features are still being tested, and breaking changes may occur as the project evolves.
For detailed version history, see the CHANGELOG.md.
This repository contains exclusively the code for the API of the restaurant reservation management application. Additionally, the development of the frontend, built with React and Material UI (MUI), complements this project by providing a modern, intuitive, and fully functional user interface.
You can explore the frontend repository here Restaurant Reservation Management Client.
Follow these steps to set up the project locally:
-
Clone the repository:
git clone https://github.com/danielcaraballo/restaurant-reservations-api.git cd restaurant-reservation-api -
Create a virtual environment:
python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate
-
Install dependencies:
pip install -r requirements.txt
-
Set up environment variables:
-
Create a
.envfile in the root directory. -
Add the necessary environment variables. See
.env.examplefor reference:SECRET_KEY=your-secret-key DEBUG=True ALLOWED_HOSTS=localhost,127.0.0.1 -
Rename
.env.exampleto.envand update it with your values.
-
-
Apply database migrations:
python manage.py migrate
-
Run the development server:
python manage.py runserver
Visit http://127.0.0.1:8000/ to access the API.
We welcome contributions! Follow these steps to get started:
- Fork the repository.
- Clone your fork locally:
git clone https://github.com/danielcaraballo/restaurant-reservations-api.git
- Create a new branch:
git checkout -b feature/your-feature-name
- Make your changes and commit them:
git commit -m "type(scope): description of changes" #Using Conventional Commits
- Push your changes to your fork:
git push origin feature/your-feature-name
- Open a Pull Request.
©2024 Developed by Dev. Project.
Feel free to contact us for any inquiries
📧 Email: devproject.ve@gmail.com
If you find this project useful, consider starring ⭐ the repository to show your support!
