تفاصيل العمل

I designed and developed a full-stack food ordering and restaurant management web application that provides separate interfaces for customers and administrators.

The customer-facing interface allows users to create a new account, securely sign in, browse the available food menu, select food items, specify the required quantity, add items to their shopping cart, review their selected products, and confirm their orders through a clear and user-friendly ordering process.

The website includes a dedicated customer profile area where registered users can view their personal information and previous orders. Users can also update their basic contact details, change their account password, and securely sign out of the system.

The complete customer workflow includes:

• A responsive landing page introducing the food ordering service.

• Customer registration and sign-in pages.

• Session-based user authentication.

• Secure password hashing before storing account credentials.

• A customer home page after successful authentication.

• A dynamic food menu displaying the available meals.

• Food selection with adjustable order quantities.

• A shopping cart for reviewing selected food items.

• An order confirmation process.

• A customer profile and personal details page.

• An order history section for reviewing previous orders.

• Account settings for updating contact information.

• Password-changing functionality.

• A secure sign-out option.

The application also provides a separate administrative interface that enables restaurant administrators to manage the main operational parts of the system.

Through the administration panel, administrators can:

• Sign in through a dedicated administrator login page.

• Access an administrator dashboard.

• Add new food items to the restaurant menu.

• Upload and associate images with food items.

• Manage the information of available meals.

• Update food prices whenever required.

• View customer orders submitted through the website.

• Review the details and quantities included in each order.

• Manage the order workflow from the administrative side.

• Mark customer orders for dispatch and delivery.

• Verify the overall operation of the website from the administrator interface.

The backend was developed using Node.js and Express.js, while EJS was used to generate dynamic server-rendered pages. MySQL was used as the relational database for storing and managing customer accounts, food information, prices, and order records.

Authentication and account state are managed using Express sessions and browser cookies. Passwords are protected using bcrypt hashing, environment configuration is handled using dotenv, and food image uploads are processed through server-side file-upload functionality.

The frontend was created using HTML5, CSS3, JavaScript, Bootstrap, and EJS templates. The interface was designed to be responsive and easy to use across desktop computers, tablets, and mobile devices.

The project demonstrates the complete development of a database-driven web application, including frontend design, backend development, user authentication, database integration, file uploading, customer account management, shopping cart functionality, order processing, and restaurant administration.

بطاقة العمل

اسم المستقل
عدد الإعجابات
0
تاريخ الإضافة
تاريخ الإنجاز