Restaurant & Online Ordering System
A web application with an online ordering system, an admin panel, and a customer account system, enabling management of the menu, orders, online payments, and customer data. Built using JavaScript frameworks.
Goal: Restaurant Management
Running a restaurant involves many operational and sales tasks. The goal of the project was to create a system enabling online sales and increasing the reach of the offer, as well as providing tools for managing the menu, orders, reservations, messages, staff and customer accounts, and sales data that support subsequent business decisions.
Solution: Full-Stack Architecture
I designed and built a full-stack application, focusing on a smooth user experience (UX), page load performance, maintainable code structure, and data security and integrity.
Menu, Table Reservations, Online Ordering and Payments
Customer Panel: Account Management and Order History
The customer panel allows account management, viewing order history, and updating personal data, including changing the password or permanently deleting the account.
Admin Panel: System Management
The administrative panel enables management of products and categories, user and staff accounts, as well as table reservations. The administrator can also read and respond to customer messages directly from the panel.
Implementation and Technologies Used:
- Authorization: JWT and role-based permissions.
- Database: MongoDB and Mongoose for storing products, orders, user accounts, and other application data.
- Backend: Node.js and Express.js. REST API for handling products, categories, orders, reservations, messages, and user accounts.
- Payments: Stripe with webhook handling that updates order statuses.
- Application Architecture: React.js frontend and Node.js/Express.js backend communicating via a REST API.
Business Value:
- ✓Customer Service: the ability to place orders, make online payments, book tables, and manage their account.
- ✓Staff Workflow Streamlining: managing online orders, table reservations, and customer messages from within a single application.
- ✓Sales Statistics: an overview of sales and order data in the administrator panel.
- ✓Security: user login, role-based permissions, and payment handling via Stripe.
- ✓Restaurant Management: managing the menu, categories, orders, reservations, and user accounts from the administrator panel.
- ✓Responsive Design: adapting the interface to desktops, laptops, tablets, and mobile devices.


