A university-based e-commerce application designed exclusively for IIUC students. IIUC Bazaar simplifies the buying and selling of products within the university ecosystem, featuring secure authentication, role-based functionalities, and reliable payment methods.
- Features
- Architecture
- Technology Stack
- Installation
- Usage
- Notification System
- Demo Video
- Challenges and Solutions
- Future Enhancements
- License
- University Email Restriction: Only emails ending with
@ugrad.iiuc.ac.bdcan sign up. - Secure Login: Users can securely log in, and a "Forgot Password" option is available.
- Buyer:
- Add items to the cart.
- Place orders with payment options.
- View pending orders.
- Give and manage reviews.
- Seller:
- Add, edit, and delete products.
- Manage orders and view sales performance.
- View and manage product reviews.
- Replies in Bangla and English.
- Analyzes app data such as:
- Most sold products
- Trending items
- Buyer preferences
- Suggests sellers what products to add (based on demand & trends).
- Suggests buyers what products to buy (based on popular items & behavior).
- Helps with navigation, order queries, FAQs, and app guidance.
- Card Payment: Securely integrated using Stripe API.
- Cash on Delivery: Available for users who prefer to pay on delivery.
- Predefined university locations, such as FAZ, C Building, CXB, etc., ensure efficient delivery.
The application follows the Model-View-ViewModel (MVVM) pattern:
- Model: Manages data and business logic.
- View: Displays the UI and interacts with users.
- ViewModel: Connects the Model and View, handling user input and updating the UI.
- Frontend: Flutter
- State Management: GetX
- Backend: Firebase (Authentication, Realtime Database, Storage)
- Payment Integration: Stripe API
- UI Enhancements: Google Fonts, HexColor
- Flutter SDK
- Android Studio or VS Code
- Firebase account
- Stripe account for payment integration
-
Clone the Repository:
git clone https://github.com/Sazidul0/IIUC_Bazaar.git cd IIUC_Bazaar -
Install Dependencies:
flutter pub get
-
Set Up Firebase:
- Add your google-services.json (Android) and GoogleService-Info.plist (iOS) files.
- Enable Authentication and Realtime Database in Firebase Console.
-
Configure Stripe API:
- Replace the placeholder API keys in payment_service.dart with your Stripe credentials.
-
Run the App:
flutter run
- Signup: Register with your university email (@ugrad.iiuc.ac.bd).
- Browse Products: Explore and purchase items.
- Place Orders: Select a payment method and choose a delivery location.
- Manage Orders: Track your orders and provide product ratings.
- AI Recommendations: Get smart AI-based suggestions on products you may like.
- Signup/Login: Register or login using your university email.
- Manage Products: Add, update, or delete products.
- View Sales: View both monthly and total sales directly from the homepage.
- Manage Orders: Process and update order statuses.
- AI Product Suggestions: Receive AI-driven insights on what products to add based on demand and trends.
- Card Payment: Payment success notification.
- Cash on Delivery: Order confirmation notification.
- New order alerts with delivery details.
Notifications ensure a seamless buying and selling experience.
-
Challenge: Restricting Access
Solution: Validate email domain for@ugrad.iiuc.ac.bd. -
Challenge: Role-Specific Functionalities
Solution: Designed separate UIs and backend logic for buyers and sellers. -
Challenge: Secure Payment Integration
Solution: Integrated Stripe API for safe card payments. -
Challenge: Smart Recommendations Solution: Implemented data-driven chatbot suggestion system.
- Add real-time chat between buyers and sellers.
- Expand delivery location options.
- Integrate advanced analytics for seller performance.
- Introduce AI-based product recommendations.
This project is licensed under the MIT License - see the LICENSE file for details.
Contributions are welcome!
- Fork the repository.
- Create a new branch.
- Commit your changes.
- Open a pull request.
Developer: [Sazidul Islam]
GitHub: [https://github.com/Sazidul0]