Skip to content

Repository files navigation

dbs-banner

🎥 Demo

Watch the demo

Digital Bidding System (DBS)

A comprehensive Flutter-based digital auction platform connecting buyers and sellers with secure bidding, real-time notifications, and integrated payment simulation.

📱 Project Overview

Digital Bidding System is a mobile application developed as a Final Year Project (FYP) that provides a complete auction marketplace ecosystem with role-based dashboards, real-time bidding, chat/negotiation features, and admin management capabilities.

Key Features

🛍️ Buyer Features

  • Browse live auctions with advanced search and filtering
  • Place bids on products with real-time updates
  • Receive instant notifications for bid status (won, outbid, lost)
  • Chat and negotiate with sellers
  • Track orders and delivery status
  • Secure escrow payment simulation
  • Rate and review sellers

🏪 Seller Features

  • List products for auction with image uploads
  • Manage product inventory and pricing
  • Accept/reject bids from buyers
  • Chat with potential buyers
  • Track sales and earnings
  • Manage shipping and delivery
  • Digital wallet for payment tracking

👨‍💼 Admin Features

  • Product approval workflow
  • User management and moderation
  • Monitor live auctions and bids
  • Analytics dashboard with revenue tracking
  • Platform fee management (5% commission)
  • User suspension/warning system

💬 Communication

  • Real-time chat between buyers and sellers
  • Negotiation panel for price discussions
  • Unread message badges and notifications
  • Role-specific chat filtering

🔔 Notification System

  • Real-time alerts for bid activities
  • Order status updates
  • Product approval notifications
  • Role-based notification filtering
  • In-app notification center

🛠️ Technology Stack

  • Framework: Flutter 3.5.1
  • Language: Dart
  • Backend: Firebase
    • Firebase Authentication
    • Cloud Firestore (Database)
    • Firebase Storage (Image uploads)
  • State Management: Provider
  • Architecture: Repository Pattern with Service Layer

📂 Project Structure

lib/
├── constants/          # App-wide constants (colors, themes)
├── data/              # Sample data for testing
├── models/            # Data models (Product, User, Bid, Order, etc.)
├── providers/         # State management providers
├── routes/            # App routing configuration
├── screens/           # UI screens (50+ screens)
│   ├── home_screen.dart
│   ├── seller_dashboard_screen.dart
│   ├── admin_dashboard_screen.dart
│   ├── chat_screen.dart
│   └── ...
├── services/          # Business logic and Firebase integration
│   ├── auction_service.dart
│   ├── auth_service.dart
│   ├── chat_service.dart
│   └── ...
├── widgets/           # Reusable UI components
└── main.dart          # App entry point

🚀 Getting Started

Prerequisites

  • Flutter SDK (3.5.1 or higher)
  • Dart SDK
  • Android Studio / VS Code
  • Firebase account
  • Android device or emulator

Installation

  1. Clone the repository

    git clone <repository-url>
    cd dbs
  2. Install dependencies

    flutter pub get
  3. Configure Firebase

    • Create a Firebase project
    • Add Android app to Firebase project
    • Download google-services.json and place in android/app/
    • Update lib/firebase_options.dart with your Firebase configuration
  4. Run the app

    flutter run

🔥 Firebase Configuration

Firestore Collections

  • users - User profiles and authentication data
  • products - Product listings and auction details
  • bids - Bid history and current bids
  • orders - Order tracking and delivery status
  • chats - Chat messages between users
  • notifications - User notifications
  • transactions - Payment and wallet transactions
  • admin_actions - Admin activity logs

Security Rules

Firestore security rules are configured in firestore.rules to ensure:

  • Users can only access their own data
  • Sellers can manage their products
  • Admins have elevated permissions
  • Proper validation of data writes

Storage Rules

Firebase Storage rules in storage.rules control:

  • Product image uploads
  • User profile pictures
  • File size and type restrictions

👥 User Roles

Buyer

  • Default role for new users
  • Can browse and bid on products
  • Access to buyer dashboard and order tracking

Seller

  • Users can switch to seller mode
  • Can list products and manage sales
  • Access to seller dashboard and analytics

Admin

  • Special login credentials required
  • Full platform management capabilities
  • Access to admin dashboard and analytics

🎨 UI/UX Features

  • Modern Design: Clean, professional interface with dark blue and white theme
  • Responsive Layout: Optimized for various screen sizes
  • Smooth Animations: Page transitions and loading states
  • Real-time Updates: Live data synchronization with Firebase
  • Role-based Navigation: Different dashboards for buyers, sellers, and admins
  • Badge Notifications: Visual indicators for unread messages and alerts
  • Empty States: Helpful messages when no data is available
  • Error Handling: User-friendly error messages and fallbacks

🔐 Security Features

  • Firebase Authentication for secure login
  • Email verification for new accounts
  • Password reset functionality
  • Role-based access control
  • Firestore security rules
  • Input validation and sanitization
  • Secure payment simulation (escrow system)

📊 Key Workflows

Product Listing Flow

  1. Seller creates product listing
  2. Admin reviews and approves/rejects
  3. Approved products go live for bidding
  4. Buyers can place bids
  5. Seller accepts winning bid
  6. Order created and payment processed

Bidding Flow

  1. Buyer browses live auctions
  2. Places bid on desired product
  3. Receives notifications for bid status
  4. If outbid, can place higher bid
  5. Winning bid triggers order creation
  6. Payment and delivery process begins

Order Flow

  1. Order created after bid acceptance
  2. Buyer makes escrow payment
  3. Seller ships product
  4. Buyer confirms delivery
  5. Payment released to seller
  6. Both parties can rate each other

🧪 Testing

The app includes sample data for testing all features without requiring actual Firebase data. Sample data is initialized on app launch for:

  • Products
  • Users
  • Bids
  • Notifications
  • Chat messages

📱 Supported Platforms

  • ✅ Android
  • ⚠️ iOS (requires additional configuration)
  • ⚠️ Web (limited support)

🐛 Known Issues

  • Hot reload may not work for asset changes (requires full restart)
  • First build after flutter clean takes longer
  • Some Firebase features require internet connection

📝 Development Notes

Code Quality

  • Follows Flutter best practices
  • Repository pattern for data access
  • Service layer for business logic
  • Provider for state management
  • Proper error handling and logging

Performance Optimizations

  • Image caching for product listings
  • Lazy loading for large lists
  • Stream-based real-time updates
  • Efficient Firestore queries with indexing

🎓 Academic Information

Project Type: Final Year Project (FYP)
Category: Mobile Application Development
Focus Areas:

  • Mobile app development with Flutter
  • Firebase backend integration
  • Real-time data synchronization
  • E-commerce and auction systems
  • User authentication and authorization
  • Payment system simulation

📄 License

This project is developed for academic purposes as part of a Final Year Project.


👨‍💻 Developer

Developed as a Final Year Project demonstrating:

  • Full-stack mobile development skills
  • Firebase integration expertise
  • UI/UX design capabilities
  • Complex state management
  • Real-time application development

🙏 Acknowledgments

  • Flutter team for the excellent framework
  • Firebase for backend services
  • Material Design for UI components
  • Open source community for packages and resources

📞 Support

For issues or questions related to this project, please refer to the project documentation or contact the development team.


Last Updated: 2026
Version: 1.0.0
Status: ✅ Academic Prototype — Core Features Complete.

About

Digital Bidding System for Medium Businesses | Flutter • Firebase • Real-Time Bidding

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages