Project Overview:
This project is a comprehensive web application designed to streamline and automate the operations of a small to medium-sized restaurant. As the sole full-stack developer, I was responsible for the end-to-end development, from the database design and API creation to the front-end user interface and deployment.
Technologies Used:
Front-End: Angular (v16+), TypeScript, HTML5, SCSS, RxJS, Angular Material
Back-End: ASP.NET Core Web API (v8), C#, Entity Framework Core
Database: SQL Server
Authentication: JWT (JSON Web Tokens)
Deployment: Azure App Service / IIS
My Role & Responsibilities:
Back-End Development (ASP.NET Core)
API Design: Designed and developed a secure, efficient, and well-documented RESTful API to handle all data operations.
Database Management: Created and managed the SQL Server database schema using Entity Framework Core Code-First migrations. The database stores information for orders, menu items, staff, customers, and inventory.
Business Logic: Implemented core business logic for order processing, inventory tracking, and sales reporting. This included complex queries and data validation.
Security: Secured the API with a robust JWT-based authentication system, implementing a role-based authorization model to control access for different user types (Admin, Manager, Staff).
Front-End Development (Angular)
User Interface (UI): Built a responsive and intuitive single-page application (SPA) with multiple dashboards and modules. The design focused on a seamless user experience for both desktop and mobile devices.
Modules & Components: Developed reusable Angular components for various functionalities, including:
Dashboard: A dynamic dashboard providing real-time sales analytics and key performance indicators.
Menu Management: A CRUD (Create, Read, Update, Delete) interface for managing menu items, prices, and availability.
Order Management: A real-time system for staff to view and update the status of incoming orders.
User & Role Management: An administrative panel for creating and managing user accounts with different access levels.
State Management: Used Angular services and RxJS to handle state management and asynchronous data fetching from the back-end API.
Key Features Implemented:
Real-time Order Processing: Staff can view new orders instantly, update their status, and notify the kitchen.
Sales & Reports: Admins can generate custom reports and charts to analyze sales data, best-selling items, and staff performance.
Secure Authentication & Authorization: Implemented a secure login system and role-based access to ensure data integrity and user privacy.
Project Outcome:
The system successfully automated several manual processes, reducing order errors and improving overall operational efficiency by an estimated 25%. The project demonstrated a strong command of both front-end and back-end technologies, showcasing my ability to build a robust, scalable, and secure full-stack application.