{"id":24746797,"url":"https://github.com/sanaa-ennaji/GustoFlow-Angular","last_synced_at":"2025-10-10T16:30:42.337Z","repository":{"id":273390032,"uuid":"919524975","full_name":"sanaa-ennaji/GustoFlow-Angular","owner":"sanaa-ennaji","description":"GustoFlow est une application innovante destinée à résoudre les défis courants rencontrés dans la gestion des restaurants en combinant la puissance d'Angular et de NgRx.","archived":false,"fork":false,"pushed_at":"2025-02-12T10:37:47.000Z","size":8772,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-23T01:28:37.830Z","etag":null,"topics":["angular","guard","ngrx"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sanaa-ennaji.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-20T14:51:34.000Z","updated_at":"2025-02-16T12:21:15.000Z","dependencies_parsed_at":"2025-01-20T17:22:05.758Z","dependency_job_id":"3875f80a-77be-4b2a-aaff-962e4f3a465e","html_url":"https://github.com/sanaa-ennaji/GustoFlow-Angular","commit_stats":null,"previous_names":["sanaa-ennaji/gustoflow","sanaa-ennaji/gustoflow-angular"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sanaa-ennaji/GustoFlow-Angular","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sanaa-ennaji%2FGustoFlow-Angular","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sanaa-ennaji%2FGustoFlow-Angular/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sanaa-ennaji%2FGustoFlow-Angular/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sanaa-ennaji%2FGustoFlow-Angular/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sanaa-ennaji","download_url":"https://codeload.github.com/sanaa-ennaji/GustoFlow-Angular/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sanaa-ennaji%2FGustoFlow-Angular/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279004706,"owners_count":26083750,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-10T02:00:06.843Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["angular","guard","ngrx"],"created_at":"2025-01-28T04:34:37.402Z","updated_at":"2025-10-10T16:30:40.739Z","avatar_url":"https://github.com/sanaa-ennaji.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Restaurant Management System\n\n## Overview\nThis project is aimed at optimizing the management of restaurant operations using **Angular** and **NgRx**. The application addresses key challenges commonly faced in restaurants, such as inefficient table reservation systems, order management delays, and inventory tracking issues. By leveraging NgRx for state management, this project provides a scalable and maintainable solution for restaurant operations.\n\n## Project Goals\nThe goal of this project is to develop an Angular application that solves at least **3 key problems** encountered in restaurant management. Each developer will propose a technical solution using Angular, NgRx, and local storage for persistence.\n\n## Problems Addressed\nThis project will address the following key issues in restaurant management:\n1. **Table Reservation** - Streamlining the table booking process for customers and restaurant staff.\n2. **Order Management** - Managing customer orders efficiently with real-time updates.\n3. **Inventory Management** - Keeping track of stock levels and notifying staff when stock is low.\n\n## Technologies Used\n- **Angular** - Frontend framework for building the application.\n- **NgRx** - State management library for Angular to handle global application state.\n- **LocalStorage** - For storing application data and ensuring persistence.\n- **Angular Material** - UI components for building modern, responsive interfaces.\n\n![alt text](public/state-management-lifecycle.png)\n\n## Features\n- **Table Reservation System**: Allows customers to book tables and view availability in real-time.\n- **Order Management**: Allows restaurant staff to view and manage orders.\n- **Inventory Tracker**: Monitors stock levels and sends alerts when items are running low.\n- **NgRx State Management**: Utilizes NgRx Store, Actions, Reducers, Selectors, and Effects to manage global state in a reactive way.\n\n## Project Structure \n\nsrc/  \n├── app/  \n│   ├── core/  \n│   │   ├── services/     \n│   ├── shared/  \n│   │   ├── components/  \n│   │   └── utilities/  \n│   ├── features/   \n│   │   ├── admin/  \n│   │   └── menu/  \n│   ├── store/  \n│   │   ├── actions/  \n│   │   ├── reducers/  \n│   │   ├── effects/  \n│   │   ├── selectors/  \n│   │   └── state/  \n│   └── app.component.ts  \n└── assets/\n\n## Setup\n\n### Prerequisites\n- **Node.js** (latest LTS version)\n- **Angular CLI**\n- **Git** (for version control)\n\n### Install Dependencies\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/sanaa-ennaji/GustoFlow\n   cd Gusto-Flow\n\n   ```\nInstall NgRx if Not Already Installed:\nFirst, ensure you have NgRx installed in your project.\n\n ```bash\n npm install\nng add @ngrx/store\nnpm install @ngrx/effects @ngrx/store-devtools @ngrx/entity\nnpm install flowbite\nnpm install @fortawesome/fontawesome-free\nng serve\n\n   ```\n   - to create a components for example plate edit\n    \n     ```bash\n     ng generate component features/admin/users/plate-edit\n     ```\n- Visit http://localhost:4200 to see the application in action.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsanaa-ennaji%2FGustoFlow-Angular","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsanaa-ennaji%2FGustoFlow-Angular","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsanaa-ennaji%2FGustoFlow-Angular/lists"}