{"id":16192288,"url":"https://github.com/james-leste/qrsuite","last_synced_at":"2026-05-01T16:36:13.523Z","repository":{"id":254138456,"uuid":"845222929","full_name":"James-Leste/qrsuite","owner":"James-Leste","description":"A smooth and beautiful restaurant management system and its corresponding user-end application","archived":false,"fork":false,"pushed_at":"2024-09-17T08:28:59.000Z","size":10598,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-07T15:11:35.836Z","etag":null,"topics":["cupertino-design","dart","firebase","firebase-auth","firestore","flutter","provider-state-management"],"latest_commit_sha":null,"homepage":"","language":"Dart","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/James-Leste.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":"2024-08-20T20:37:34.000Z","updated_at":"2024-12-08T08:54:18.000Z","dependencies_parsed_at":"2024-09-09T20:03:16.461Z","dependency_job_id":"e46f4ee2-1d1f-491e-997a-256f813ded27","html_url":"https://github.com/James-Leste/qrsuite","commit_stats":null,"previous_names":["james-leste/qr-restaurants","james-leste/qrsuite"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/James-Leste/qrsuite","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/James-Leste%2Fqrsuite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/James-Leste%2Fqrsuite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/James-Leste%2Fqrsuite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/James-Leste%2Fqrsuite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/James-Leste","download_url":"https://codeload.github.com/James-Leste/qrsuite/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/James-Leste%2Fqrsuite/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32505109,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"online","status_checked_at":"2026-05-01T02:00:05.856Z","response_time":64,"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":["cupertino-design","dart","firebase","firebase-auth","firestore","flutter","provider-state-management"],"created_at":"2024-10-10T08:09:30.298Z","updated_at":"2026-05-01T16:36:13.506Z","avatar_url":"https://github.com/James-Leste.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# QR-Code-based Restaurant Management System\n\nA smooth and beautiful restaurant management system and its corresponding user-end application. It allows seamless interaction between restaurants and customers through QR code generation and scanning.\n\n## Abstraction\n\n![overall abstraction](./README_image/eatbooksystem.gif \"overall abstraction\")\n_Overall abstraction_\n\n## Functionalities\n\n### Interfaces\n\n-   **Scan to Order**\n\n    -   Guides customers to scan a code to order. After scanning, they enter the restaurant's menu page. If the scan fails, customers can manually enter the table number and be redirected to the menu page.\n\n-   **Call the Waiter**\n\n    -   Before scanning, redirects the user to the scan page.\n    -   After scanning, a button can be pressed to display on the merchant's end that this table is calling for a server.\n\n-   **Search**\n\n    -   At the top of the page, there is a search bar where users can search for restaurant names, dishes, flavors, or allergies. Carousel guide words (e.g., \"try gluten-free\", \"try spicy...\") can be added.\n\n-   **Location**\n\n    -   In the future, a map can be integrated to view nearby restaurants based on current location.\n\n-   **Coupon**  \n    The top images on the page allow merchants to display different coupons and vouchers.\n\n### Menu\n\n-   **Categories**\n\n    -   **Dish details**\n        -   Categories are displayed in the left sidebar, categorized based on the merchant's needs.\n        -   Dishes are displayed in list format, with images, name, and allergy information.\n        -   Clicking on a dish shows detailed ingredients and flavor indicators (salty, sweet, sour, spicy).\n\n-   **Add dish**\n\n    -   In the dish list, quantity can be increased or decreased, allowing the user to add the dish to the shopping cart.\n\n-   **Search**\n\n    -   Users can search for dishes by style, flavor, or allergies.\n\n-   **Filter**\n    -   Users can directly filter dishes by meat, vegetables, flavor, or allergy information.\n\n### Order\n\n-   **Orders**\n\n    -   Displays the cart.\n\n-   **Add**\n\n    -   Navigates to the menu.\n\n-   **Pay**\n    -   Navigates to the bills section.\n\n### Bills\n\n-   **Payment**\n\n    -   A \"Pay\" button allows the customer to choose a tip amount of \"0%\", \"5%\", or \"10%\" and then redirects to Paytrail for payment. The payment information is sent to the front desk.\n\n-   **Take-away**\n\n    -   A button allows the user to notify the front desk that they need to pack their food.\n\n-   **Call the Waiter**\n    -   A button allows the user to signal the front desk for service.\n\n### Personal\n\n-   **Account**\n\n    -   Users can register, log in, or recover a forgotten password. If users don't register, they will be unable to save their consumption history or personal taste preferences.\n\n-   **Favor**\n\n    -   Users can save favorite restaurants or dishes.\n\n-   **Tastes**\n\n    -   Users can set preferences for salty, sweet, sour, and spicy flavors. They can also add food allergies.\n\n-   **Coupon**\n\n    -   Users can view the coupons they have obtained.\n\n-   **Contact Us**\n\n    -   Users can contact the customer service.\n\n-   **History**\n    -   Users can view their purchase history.\n\n### Scan to Order\n\n-   After scanning a code, the user enters the restaurant's menu page. If the scan fails, they can manually enter the table number to be redirected to the menu page.\n\n### Setting\n\n-   Users can manage language, permissions, coupon notifications, etc.\n\n_Italic text represents functionality that will not be displayed in the app but will be implemented._\n\n-   Based on restaurant needs, payment can be initiated at the time of order confirmation.\n\n## Screenshots\n\n\u003cp float=\"left\"\u003e\n  \u003cimg src=\"./README_image/login_page.png\" width=\"30%\" /\u003e\n  \u003cimg src=\"./README_image/menu_list.png\" width=\"30%\" /\u003e \n  \u003cimg src=\"./README_image/order_list.png\" width=\"30%\" /\u003e\n\u003c/p\u003e\n\n## How to Run the Flutter Project on iOS\n\n### Prerequisites\n\nMake sure you have the following installed on your machine:\n\n-   **Flutter SDK**: [Flutter Installation Guide](https://docs.flutter.dev/get-started/install)\n-   **Xcode**: You need Xcode to run the project on iOS simulators or physical devices.\n-   **CocoaPods**: This is required for managing iOS dependencies. If you haven't installed CocoaPods yet, run:\n\n```bash\nsudo gem install cocoapods\n```\n\n### Project File Structure\n\nThe main source code of this project is located in the `lib/` directory. Below are some important files:\n\n```bash\nlib/\n├── main.dart                       # Main entry point of the application\n├── components/                     # Reusable UI components\n├── models/                         # Data models like food, order, restaurant\n├── pages/                          # UI Pages such as login, home, register, etc.\n├── services/                       # Backend service files like authentication and database services\n├── utils/                          # Utility classes like popup notifications\n└── images/                         # Images used in the project (e.g., apple logo, QR code)\n```\n\n### Steps to Run the iOS Version\n\n#### 1. Navigate to the Project Directory\n\nFirst, open your terminal and navigate to the root directory of your Flutter project:\n\n```bash\ncd /path/to/your/flutter_project\n```\n\n#### 2. Install Dependencies\n\nInstall the necessary Dart dependencies by running:\n\n```bash\nflutter pub get\n```\n\n#### 3. Install CocoaPods (For iOS)\n\nNavigate to the `ios` directory and install the CocoaPods dependencies for the project:\n\n```bash\ncd ios\npod install\n```\n\nAfter `pod install` completes, return to the root directory:\n\n```bash\ncd ..\n```\n\n#### 4. Open the iOS Simulator or Connect Your Device\n\n-   **iOS Simulator**: You can open the iOS Simulator directly from the command line by running:\n\n```bash\nopen -a Simulator\n```\n\n-   **Real iOS Device**: If you want to run the app on a real device, ensure that it is connected to your machine and trusted.\n\n#### 5. Build and Run the Project\n\nTo run the project on the iOS simulator or real device, execute the following command:\n\n```bash\nflutter run\n```\n\nFlutter will automatically detect available iOS simulators or connected physical devices.\n\n#### 6. Running in Xcode (Optional)\n\nIf you want to open the project in Xcode for additional configurations or to troubleshoot, you can do so:\n\n```bash\nopen ios/Runner.xcworkspace\n```\n\nThen, in Xcode:\n\n-   Select your target device (Simulator or real device).\n-   Click on the **Run** button (or use `Cmd + R`).\n\n#### 7. Troubleshooting\n\nIf you encounter any issues, you can try the following:\n\n-   **Clean the build**: Sometimes, cleaning the build can solve build issues:\n\n```bash\nflutter clean\n```\n\n-   **Check device logs**: Use `flutter doctor` to ensure everything is set up correctly:\n\n```bash\nflutter doctor\n```\n\nThis will show you the current status of your Flutter installation and help resolve any missing dependencies or permissions.\n\n### Additional Notes\n\n-   The project's main entry point is `lib/main.dart`.\n-   Make sure to adjust any platform-specific configurations in the `ios/` directory as needed.\n-   For Firebase-related services, ensure `firebase_options.dart` and any other configurations are set up properly for iOS.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjames-leste%2Fqrsuite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjames-leste%2Fqrsuite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjames-leste%2Fqrsuite/lists"}