An open API service indexing awesome lists of open source software.

https://github.com/gauravmcode/quick-shop_admin

Admin app for "Quickly" Shop built in flutter
https://github.com/gauravmcode/quick-shop_admin

dart firebase flutter

Last synced: 12 months ago
JSON representation

Admin app for "Quickly" Shop built in flutter

Awesome Lists containing this project

README

          

# Quickly Admin

Admin 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.

**Download .apk for this app** : [Quickly admin](https://apkfab.com/quickly-admin/com.example.admin_shop/apk?h=75201492ffc43b4a568cc4fb5012dd8a84fcb6b057c46047c890289ed1d3d6f9)

https://github.com/GauravMcode/Quick-Shop_admin/assets/51371766/449ed980-0aa6-4044-9920-9b0ec188e2b9

This frontend App is built using Flutt er following the Bloc pattern and Bloc state management keeping in mind clean architecture.

Also see :
**User App** : [Quickly](https://github.com/GauravMcode/Quick-Shop_user)

**Rest-Api** : [Quickly Api](https://github.com/GauravMcode/Quick-shop_API)

## Core feautures of Admin App :
- Create Account & recieve Welcome email
- Log-in to account & Reset password using OTP through email
- Display list of admin products
- Create, View, Update & Delete product
- Metrics consisting of bar graph and pie chart representing category-wise:
- Inventory Cost Distribution
- Revenue & sales along with Seller's milestone
- Views by unique users to know attention a product & category is getting
- Sign out

## App screens:
The App starts with a splash screen, followed by a Start page, that specifies outlook of the app & link for authentication :


Quickly-admin-start

### The Authentication Pages :
SignUp & LogIn:
On Sign-up, an account is created for user & user recieves a Welcome email from **Quickly**, user can log-in with the credentials.



Sign up log-in


Reset Password :
User has to enter email and OTP to change password would be sent to their email address.



reset reset-email reset-otp


### Home-Page :
App bar with Inventory Cost Metrics and general details of admin trade. The body consists of list of products. Other pages : sales, views and profile.



Quickly-admin-homepage sales views profile


### Product :
View Produc , Add a Prodcut, update product, delete product.



Quickly-admin-crud product add-product update-product delete-product


## Folder Structre:
This Project follows Clean Architecture using BLoC Pattern, where code is seperated into :

```
|- Data Layer
|- Domain Layer
|- Presentation Layer
```
The complete Folder Structe is as follows :

The **lib** folder consists :
```
lib
|- data
|- domain
|- presentation
|- config
|- main.dart
```
The **data** sub-folder handles all calls for data, local or remote

```
data
|- local
|- local_data.dart
|- remote
|- remote_data.dart
```
The **domain** sub-folder has models and repositories :
```
domain
|- models
|- product.dart
|- user.dart
|- repositories
|- auth_repository.dart
|- metric_repository.dart
|- product_repository.dart
```
The **presentation** sub-folder consists all UI part and bloc; widgets contain refactored and re-usable widgets.

UI part:

```
presentaion
|- pages
|- authentication
|- start.dart
|- sign_up.dart
|- sign_in.dart
|- reset_password.dart
|- metrics
|- sales.dart
|- views.dart
|- product
|- add_product.dart
|- products.dart
|- product.dart
|- profile
|- prodile.dart
|- home_page.dart
|- widgets
|- metrics
|- metrics_helper.dart
|- order_steps
|- address_step.dart
|- order_placed.dart
|- review_details.dart
|- products
|- product_helper.dart
|- products_helper.dart
|- input_field.dart
```
**BLoc** :
```
presentaion
|- Bloc
|- bloc
|- auth_bloc.dart
|- metric_bloc.dart
|- product_bloc.dart
|- events
|- auth_events.dart
|- metric_events.dart
|- product_events.dart
```