PLEN

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.

React.jsNode.jsExpress.jsMongoDBJWTOAuthStripe

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.