{"id":21307775,"url":"https://github.com/gauravmcode/quick-shop_user","last_synced_at":"2025-04-14T19:13:10.141Z","repository":{"id":159767757,"uuid":"634819517","full_name":"GauravMcode/Quick-Shop_user","owner":"GauravMcode","description":"User App for \"Quickly\" Shop built  in flutter","archived":false,"fork":false,"pushed_at":"2023-06-05T20:05:38.000Z","size":12528,"stargazers_count":3,"open_issues_count":2,"forks_count":4,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-14T19:13:04.359Z","etag":null,"topics":["dart","firebase","flutter"],"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/GauravMcode.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":"2023-05-01T09:28:43.000Z","updated_at":"2025-03-28T06:45:49.000Z","dependencies_parsed_at":"2024-11-21T16:38:01.384Z","dependency_job_id":"3fdbf564-3b52-4db3-8b6a-ed4fc4b7708d","html_url":"https://github.com/GauravMcode/Quick-Shop_user","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GauravMcode%2FQuick-Shop_user","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GauravMcode%2FQuick-Shop_user/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GauravMcode%2FQuick-Shop_user/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GauravMcode%2FQuick-Shop_user/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GauravMcode","download_url":"https://codeload.github.com/GauravMcode/Quick-Shop_user/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248943461,"owners_count":21186958,"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","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":["dart","firebase","flutter"],"created_at":"2024-11-21T16:34:07.741Z","updated_at":"2025-04-14T19:13:10.118Z","avatar_url":"https://github.com/GauravMcode.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Quickly\n\nUser Application for the Full Stack Online Marketplace Project **\"Quickly\"**. This App has been built using **Flutter** and uses **Node.js's Express framework** based REST-API for backend server, which in turn uses **MongoDB** as Database.\n\n**Download .apk file for this app : [Quickly apk](https://apkfab.com/quickly/com.example.user_shop/apk?h=f8a6e2fdc07333d0d2264c72eb2ccf3ca5e4be33aca1fc8e8b8b22dc91252064)**\n\n\nhttps://github.com/GauravMcode/Quick-Shop_user/assets/51371766/acd836d3-7881-4c91-8b83-7a728c290622\n\nThis frontend App is built using Flutter following the Bloc pattern and Bloc state management keeping in mind clean architecture.\n\nAlso see :\n   **Admin App** : [Quickly Admin](https://github.com/GauravMcode/Quick-Shop_admin)\u003cbr\u003e\n   **Rest-Api**  : [Quickly Api](https://github.com/GauravMcode/Quick-shop_API)  \n\n## Core feautures of User App :\n- Create Account \u0026 recieve Welcome email\n- Log-in to account \u0026 Reset password using OTP through email\n- Display list of product, general or category-wise\n- Search Bar to search and recieve real-time product results\n- View Product\n- Add or remove product from wish-list\n- give rating and review to product \u0026 view other reviews\n- Add to Cart \u0026 increase or decrease quantity\n- 3 step order flow : \n   -  Address Step : Choose form saved address or select Location on Map or Add a new Address\n   -  Review Order : Review order \u0026 proceed to payment, handled via Stripe\n   -  Order Placed : After Successfully placing order, Download \u0026 view Invoice generated.\n- View all previous orders, with details and invoice \n- Add \u0026 edit Profile image, view and remove saved addresses\n- Sign out\n\n## App screens:\nThe App starts with a splash screen, followed by a Start page, that specifies outlook of the app \u0026 link for authentication :\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://github.com/GauravMcode/Quick-Shop_user/assets/51371766/dd945c65-2c46-493e-9348-91b0a9ca2f0d\" width=\"300\" height=\"600\" alt=\"Quickly-user-start\" \u003e\n\u003c/p\u003e\n\n\n### The Authentication Pages : \nSignUp \u0026 LogIn:\nOn Sign-up, an account is created for user \u0026 user recieves a Welcome email from **Quickly**, user can log-in with the credentials. \n\n\u003cpre\u003e\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://github.com/GauravMcode/Quick-Shop_user/assets/51371766/cd23917e-7fa8-4419-85ee-20779fa71495\" width=\"250\" height=\"500\" alt=\"Sign up\" \u003e               \u003cimg src=\"https://github.com/GauravMcode/Quick-Shop_user/assets/51371766/3da09483-d0ac-49a8-a2e4-d6223e732567\" width=\"250\" height=\"500\" alt=\"log-in\" \u003e         \n\u003c/p\u003e\n\u003c/pre\u003e\n\nReset Password : \nUser has to enter email and OTP to change password would be sent to their email address.\n\u003cpre\u003e\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://github.com/GauravMcode/Quick-Shop_user/assets/51371766/e4283dc8-46ed-47ab-951b-abd9e39fd4af\" width=\"250\" height=\"500\" alt=\"reset\" \u003e            \u003cimg src=\"https://github.com/GauravMcode/Quick-Shop_user/assets/51371766/e9538e22-1a0d-47f2-84d2-5385159416c0\" width=\"250\" height=\"500\" alt=\"reset-email\" \u003e      \u003cimg src=\"https://github.com/GauravMcode/Quick-Shop_user/assets/51371766/c44e5ea2-b107-43e9-85e7-ff4b67c9c4ce\" width=\"250\" height=\"500\" alt=\"reset-otp\" \u003e   \n\u003c/p\u003e\n\u003c/pre\u003e\n\n### Home-Page :\nView products, add to wishlist, search products, remove from wishlist, view profile\n\u003cpre\u003e\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://github.com/GauravMcode/Quick-Shop_user/assets/51371766/2e5597d0-0bcb-454c-b1df-9297e9d508a6\" width=\"250\" height=\"500\" alt=\"Quickly-user-homepage\" \u003e               \u003cimg src=https://github.com/GauravMcode/Quick-Shop_user/assets/51371766/cc755d88-9bfa-419f-aed4-48b2f3abf5fa\" width=\"250\" height=\"500\" alt=\"homepage\" \u003e         \n\u003c/p\u003e\n\u003c/pre\u003e\n   \n### Product Page:\nView Product, details, **Add to Cart**, Add and remove from wishlist, view and add reviews.\n \u003cpre\u003e\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://github.com/GauravMcode/Quick-Shop_user/assets/51371766/f2078f01-bf60-4e88-8cfb-ddb0e104ddb0\" width=\"250\" height=\"500\" alt=\"Quickly-user-product\" \u003e         \u003cimg src=\"https://github.com/GauravMcode/Quick-Shop_user/assets/51371766/d3c12b6e-e169-4589-870f-79ab632af69d\" width=\"250\" height=\"500\" alt=\"add-cart\" \u003e            \u003cimg src=\"https://github.com/GauravMcode/Quick-Shop_user/assets/51371766/54287c12-e189-46a7-9c57-ad57958f0d04\" width=\"250\" height=\"500\" alt=\"product\" \u003e      \u003cimg src=\"https://github.com/GauravMcode/Quick-Shop_user/assets/51371766/6251c4ef-c413-42bc-8143-ed790f3c9698\" width=\"250\" height=\"500\" alt=\"product-2\" \u003e        \u003cimg src=\"https://github.com/GauravMcode/Quick-Shop_user/assets/51371766/1b6c32e3-b5de-4003-96d9-4bfb06a040de\" width=\"250\" height=\"500\" alt=\"add-cart2\" \u003e      \n\u003c/p\u003e\n\u003c/pre\u003e\n   \n ### Cart Page:\n View items in cart, increase or decrease quantity\n\n \u003cp align=\"center\"\u003e\n\u003cimg src=\"https://github.com/GauravMcode/Quick-Shop_user/assets/51371766/2cabbecd-7d86-49ce-99b5-c453d9da0f23\" width=\"300\" height=\"600\" alt=\"Quickly-user-Cart\" \u003e\n\u003c/p\u003e\n   \n### Order :\nView items in cart, Selcet Address, or currrent location, or add a new address, review order \u0026 proceed to payment, download and view invoice.\n   \n \u003cpre\u003e\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://github.com/GauravMcode/Quick-Shop_user/assets/51371766/8a438b73-1dec-4110-a11f-1139f762eb90\" width=\"250\" height=\"500\" alt=\"Quickly-user-order\" \u003e         \u003cimg src=\"https://github.com/GauravMcode/Quick-Shop_user/assets/51371766/8c8051df-754e-48ff-85ca-11cf75a15701\" width=\"250\" height=\"500\" alt=\"cart-items\" \u003e            \u003cimg src=\"https://github.com/GauravMcode/Quick-Shop_user/assets/51371766/0543c3aa-70c7-4db3-85e8-02f841a44401\" width=\"250\" height=\"500\" alt=\"address-1\" \u003e      \u003cimg src=\"https://github.com/GauravMcode/Quick-Shop_user/assets/51371766/9a37352b-ff34-4719-8174-5137ab29e9e9\" width=\"250\" height=\"500\" alt=\"address-2\" \u003e    \n\u003c/p\u003e\n\u003c/pre\u003e\n   \n### Profile :\nView Profile, edit photo, view and delete address, view orders, Sign Out\n\n \u003cpre\u003e\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://github.com/GauravMcode/Quick-Shop_user/assets/51371766/cd3ccb48-cd28-42d6-82aa-974e6107e5bd\" width=\"250\" height=\"500\" alt=\"profile\" \u003e         \u003cimg src=\"https://github.com/GauravMcode/Quick-Shop_user/assets/51371766/57388793-e485-4429-a488-bb755ac8746b\" width=\"250\" height=\"500\" alt=\"profile2\" \u003e            \u003cimg src=\"https://github.com/GauravMcode/Quick-Shop_user/assets/51371766/f8268dbf-aa3b-4544-904d-f22f25572a72\" width=\"250\" height=\"500\" alt=\"orders\" \u003e      \u003cimg src=\"https://github.com/GauravMcode/Quick-Shop_user/assets/51371766/b0ff103f-012f-4a6f-b9c6-8df7022f4cb7\" width=\"250\" height=\"500\" alt=\"profile-pic\" \u003e    \n\u003c/p\u003e\n\u003c/pre\u003e\n\n\n## Folder Structre:\nThis Project follows Clean Architecture using BLoC Pattern, where code is seperated into :\n\n```\n|- Data Layer\n|- Domain Layer\n|- Presentation Layer\n```\nThe complete Folder Structe is as follows :\n\nThe **lib** folder consists :\n```\nlib\n|- data\n|- domain\n|- presentation\n|- config\n|- main.dart\n```\nThe **data** sub-folder handles all calls for data, local or remote\n\n```\ndata\n  |- local\n     |- local_data.dart\n  |- remote\n     |- remote_data.dart\n```\nThe **domain** sub-folder has models and repositories :\n```\ndomain\n  |- models\n    |- product.dart\n    |- user.dart\n  |- repositories\n    |- auth_repository.dart\n    |- cart_repository.dart\n    |- map_repository.dart\n    |- order_repository.dart\n    |- product_repository.dart\n    |- user_repository.dart\n```\nThe **presentation** sub-folder consists all UI part and bloc; widgets contain refactored and re-usable widgets.\n\nUI part:\n\n```\npresentation\n   |- pages\n     |- authentication\n        |- start.dart\n        |- sign_up.dart\n        |- sign_in.dart\n        |- reset_password.dart\n     |- cart\n         |-cart_items.dart\n     |- order\n         |- map.dart\n         |- order_details.dart\n         |- orders.dart\n     |- product\n         |- products.dart\n         |- product.dart\n         |- wishlist.dart\n     |- profile\n         |- prodile.dart\n     |- home_page.dart\n   |- widgets\n      |- cart\n         |- cart_animation.dart\n      |- order_steps\n         |- address_step.dart\n         |- order_placed.dart\n         |- review_details.dart\n      |- products\n         |- curved_appbar.dart\n         |- horizontal_scroll_list.dart\n         |- product_helper.dart\n         |- products_helper.dart\n      |- input_field.dart\n```\n**BLoc** :\n```\npresentaion\n |- Bloc\n   |- bloc\n     |- auth_bloc.dart\n     |- cart_bloc.dart\n     |- map_bloc.dart\n     |- order_bloc.dart\n     |- product_bloc.dart\n     |- user_bloc.dart\n     |- util_bloc.dart\n   |- events\n     |- auth_events.dart\n     |- cart_events.dart\n     |- map_events.dart\n     |- order_events.dart\n     |- product_events.dart\n     |- user_events.dart\n     |- util_events.dart\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgauravmcode%2Fquick-shop_user","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgauravmcode%2Fquick-shop_user","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgauravmcode%2Fquick-shop_user/lists"}