This document provides a detailed overview of the Flutter-based frontend for the ERP application. It outlines the features, implementation details, and navigation.
The Flutter application serves as the frontend for an ERP system, providing distinct interfaces for Users, Vendors, and Admins. The app uses Riverpod for state management, CachedNetworkImage for efficient image loading, and is structured using the MVVM architecture.
adminflow.mp4
vendorflow.mp4
userflow.mp4
- Sign-In and Sign-Up screens for Users, Vendors, and Admins.
- Role-specific dashboards:
- User Home Page
- Vendor Dashboard
- Admin Dashboard
- Riverpod for managing application state (e.g., cart, product lists).
- Dynamic UI updates without overloading the app.
- View products by category (Catering, Florist, Decoration, Lighting).
- Add products to a cart and manage the cart (increment, decrement, remove items).
- Place orders and view order status.
- Manage a guest list (add, update, delete).
- Add, update, and delete products.
- View transactions for products.
- Manage a list of products with real-time image updates using ImagePicker.
- Manage users and vendors:
- Add, update, and delete users and vendors.
- Manage memberships for users and vendors.
- Image uploading for vendors using ImagePicker.
- Cached image loading with CachedNetworkImage.
lib/
├── config/
├── data/
├── models/
├── repositories/
├── utils/
├── views/
│ ├── authentication/
│ │ ├── admin_signup_view.dart
│ │ ├── sign_in_view.dart
│ │ ├── user_signup_view.dart
│ │ ├── vendor_signup_view.dart
│ ├── admin/
│ │ ├── admin_home_page.dart
│ │ ├── maintain_user_page.dart
│ │ ├── maintain_vendor_page.dart
│ ├── user/
│ │ ├── user_home_screen.dart
│ │ ├── cart_screen.dart
│ │ ├── guest_list_screen.dart
│ │ ├── order_status_screen.dart
│ ├── vendor/
│ │ ├── vendor_home_page.dart
│ │ ├── add_new_item_page.dart
│ │ ├── your_item_page.dart
│ │ ├── transaction_page.dart
└── view_models/
- Providers:
selectedCategoryProvider
: Manages selected categories.cartProvider
: Manages cart items.productProvider
: Manages product data for vendors.
- Bottom Navigation Bar:
- Implemented for User, Vendor, and Admin dashboards for intuitive navigation.
- Role-Based Navigation:
- Dropdown on the Sign-In page to simulate role-based access.
- Sign-In Page:
- Allows users to select their role (User, Vendor, Admin) and navigate to the respective home page.
- Sign-Up Pages:
- Separate sign-up screens for Users, Vendors, and Admins.
-
Home Page:
- View vendors by category.
- Navigate to Cart, Guest List, and Order Status pages.
-
Cart Page:
- Add, update, and remove items dynamically.
- View grand total and proceed to checkout.
-
Guest List Page:
- Add, update, and delete guest entries.
-
Order Status Page:
- View order history and statuses.
-
Dashboard:
- Bottom navigation with options for products, transactions, and logout.
-
Your Items Page:
- List all products added by the vendor.
- Edit or delete products.
-
Add New Item Page:
- Add products with details (name, price, image).
-
Transaction Page:
- View transaction history for sold products.
-
Admin Dashboard:
- Options for user and vendor management.
-
Maintain User Page:
- List all users.
- Add, update, or delete user entries.
- Manage memberships.
-
Maintain Vendor Page:
- List all vendors.
- Add, update, or delete vendor entries.
- Manage memberships.
-
Authentication Flow:
- Sign-In -> Role Selection -> Navigate to Home Page.
-
User Flow:
- Home Page -> View Products by Category -> Add to Cart -> Checkout -> Order Status.
-
Vendor Flow:
- Vendor Dashboard -> Add Products -> View/Edit/Delete Products -> Transactions.
-
Admin Flow:
- Admin Dashboard -> Maintain Users/Vendors -> Add/Update/Delete Entries.
john.doe@example.com
jane.doe@example.com
- Vendor 1 (Catering)
- Vendor 2 (Florist)
admin@example.com
- Catering:
- Buffet Service: $199.99
- Event Catering: $299.99
- Florist:
- Rose Bouquet: $49.99
- Wedding Flowers: $89.99