A comprehensive Flutter-based digital auction platform connecting buyers and sellers with secure bidding, real-time notifications, and integrated payment simulation.
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.
- 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
- 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
- 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
- Real-time chat between buyers and sellers
- Negotiation panel for price discussions
- Unread message badges and notifications
- Role-specific chat filtering
- Real-time alerts for bid activities
- Order status updates
- Product approval notifications
- Role-based notification filtering
- In-app notification center
- 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
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
- Flutter SDK (3.5.1 or higher)
- Dart SDK
- Android Studio / VS Code
- Firebase account
- Android device or emulator
-
Clone the repository
git clone <repository-url> cd dbs
-
Install dependencies
flutter pub get
-
Configure Firebase
- Create a Firebase project
- Add Android app to Firebase project
- Download
google-services.jsonand place inandroid/app/ - Update
lib/firebase_options.dartwith your Firebase configuration
-
Run the app
flutter run
users- User profiles and authentication dataproducts- Product listings and auction detailsbids- Bid history and current bidsorders- Order tracking and delivery statuschats- Chat messages between usersnotifications- User notificationstransactions- Payment and wallet transactionsadmin_actions- Admin activity logs
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
Firebase Storage rules in storage.rules control:
- Product image uploads
- User profile pictures
- File size and type restrictions
- Default role for new users
- Can browse and bid on products
- Access to buyer dashboard and order tracking
- Users can switch to seller mode
- Can list products and manage sales
- Access to seller dashboard and analytics
- Special login credentials required
- Full platform management capabilities
- Access to admin dashboard and analytics
- 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
- 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)
- Seller creates product listing
- Admin reviews and approves/rejects
- Approved products go live for bidding
- Buyers can place bids
- Seller accepts winning bid
- Order created and payment processed
- Buyer browses live auctions
- Places bid on desired product
- Receives notifications for bid status
- If outbid, can place higher bid
- Winning bid triggers order creation
- Payment and delivery process begins
- Order created after bid acceptance
- Buyer makes escrow payment
- Seller ships product
- Buyer confirms delivery
- Payment released to seller
- Both parties can rate each other
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
- ✅ Android
⚠️ iOS (requires additional configuration)⚠️ Web (limited support)
- Hot reload may not work for asset changes (requires full restart)
- First build after
flutter cleantakes longer - Some Firebase features require internet connection
- Follows Flutter best practices
- Repository pattern for data access
- Service layer for business logic
- Provider for state management
- Proper error handling and logging
- Image caching for product listings
- Lazy loading for large lists
- Stream-based real-time updates
- Efficient Firestore queries with indexing
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
This project is developed for academic purposes as part of a Final Year Project.
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
- Flutter team for the excellent framework
- Firebase for backend services
- Material Design for UI components
- Open source community for packages and resources
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.
