Skip to content

This project demonstrates a restaurant menu management system built with Laravel 11, Vue 3 Composition API, and Inertia for SSR. It allows restaurants to create and manage categories, subcategories, menu items, and discounts. ๐Ÿ”โœจ

Notifications You must be signed in to change notification settings

Huda-sh/everbite

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

68 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

EverBite Restaurant Menu Management System (Job Application Task) ๐Ÿ”๐Ÿ“Š

This project demonstrates a restaurant menu management system built with Laravel 11, Vue 3 Composition API, and Inertia for SSR. It allows restaurants to create and manage categories, subcategories, menu items, and discounts. ๐Ÿš€

Development Process ๐Ÿ› ๏ธ

Design Wireframe ๐Ÿ“

Entity-Relationship Diagram (ERD) ๐Ÿ—‚๏ธ

ERD The ERD depicts the following tables and their relationships:

  • ๐Ÿ‘ฅ Users: Represents registered restaurants.
  • ๐Ÿ” Categories: Stores super and subcategories for menu items.
  • ๐Ÿฝ๏ธ Items: Represents menu items associated with categories.
  • ๐Ÿ’ฐ Discounts: Supports various discount types using a one-to-one polymorphic relationship with other entities.

This approach avoids unnecessary relationships while offering flexibility in managing different discount types. ๐Ÿ”„

๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ป Implementation

  • Laravel 11
  • Vue 3
  • Inertia
  • Code Splitting for efficient bundle sizes (See Bundle Analyzer Report) ๐Ÿ“ฆ

๐Ÿš€ Deployment

Offline Support ๐Ÿ“ด

Due to the use of SSR, implementing offline support is currently out of scope. However, alternative approaches like service workers and indexedDB could be explored in the future. ๐Ÿ”ฎ

Performance ๐Ÿ“Š

implemented code splitting to achive small bundle size here you can find the screenshot of bundle analyzer Link๐Ÿ”—

Bundle Analyzer Screenshot

Learning Objectives ๐Ÿ“š๐Ÿค“

This project provided an excellent opportunity to learn and apply the following concepts:

  • Laravel Actions: I explored the use of Laravel Actions to encapsulate complex business logic and improve code organization. ๐Ÿ’ก
  • SSR with Inertia: I implemented Server-Side Rendering (SSR) using Inertia.js, which allowed me to leverage the benefits of initial page load performance while maintaining a reactive user experience. ๐ŸŒ
  • Web Performance Techniques: I employed code splitting and analyzed bundle sizes using tools like the Bundle Analyzer to ensure optimal application performance. ๐Ÿš€

By focusing on these areas, I aimed to demonstrate my ability to learn new technologies and apply them to create a well-structured and performant web application. ๐ŸŒŸ

About

This project demonstrates a restaurant menu management system built with Laravel 11, Vue 3 Composition API, and Inertia for SSR. It allows restaurants to create and manage categories, subcategories, menu items, and discounts. ๐Ÿ”โœจ

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published