This is a modern restaurant website allowing users to browse the menu, make reservation without registration. The project was created to demonstrate my skills in front-end and back-end development.
- Interactive Menu Display: Users can view the menu with categories and filter options.
- Online Table Reservations: Users can reserve tables online.
- Contact Form: Users can send messages or inquiries.
- Responsive Design: Mobile-friendly and fully responsive.
-
Tailwind CSS for responsive, customizable layouts.
-
DaisyUI for easy-to-integrate UI components with Tailwind CSS.
-
Lucide React for a modern, lightweight icon library.
-
Framer Motion for React component animations.
-
Backend:
- Django with Django REST Framework for the API.
- MYSQL for the database.
-
Deployment:
- Frontend: Hosted on vercel.
- Backend: Hosted on Alwaysdata.
Homepage displaying the restaurant's menu.
If you want to run this project locally, follow these steps:
- Clone the repository:
git clone https://github.com/username/restaurant-site.git cd restaurant-site
- install dependencies:
npm install
- run dev server:
npm run dev resto-front@0.0.0 dev vite VITE v5.4.10 ready in 326 ms --> Local: http://localhost:5173/
The visual design of this project, including the color scheme and layout, was inspired by a Bootstrap template. However, no code from the template was used, only the aesthetic elements influenced the design choices.
For the configuration of the backend API, please refer to the README of the API repository for detailed instructions.
You can create your own frontend to consume the API and display dishes. The API is available at https://omaranli.alwaysdata.net/ and allows you to:
- Fetch dishes and restaurant data.
- Display the available dishes in a user-friendly interface.
If you want to contribute to the backend, you can help improve the API by adding features like:
- Allowing users to create an account and log in.
- Enabling users to create a restaurant and add dishes specifically related to that restaurant.
- Allowing users to display their own dishes in their personalized interface.
For detailed instructions on how to contribute to the API, please refer to the API repository.