Monami is a comprehensive e-commerce mobile application built with Flutter, showcasing modern development practices and scalable architecture patterns. The app provides a complete shopping experience with social features, user authentication, and robust state management.
- Secure user registration and login
- Firebase Authentication integration
- User profile management
- Secure data storage with Flutter Secure Storage
- Product Catalog: Browse products with detailed views
- Shopping Cart: Add/remove items with quantity management
- Favorites: Save products for later
- Order Management: Complete order lifecycle
- Search & Filter: Find products quickly
- Responsive Design: Adapts to various screen sizes
- Custom Animations: Smooth Lottie animations
- Custom Paints: Beautiful UI components
- Dark/Light Theme: Theme customization support
- Posts: Create and share content
- Comments: Engage with community
- Likes: Express appreciation
- Media Support: Image and video uploads
The project follows Clean Architecture principles with clear separation of concerns:
lib/
βββ src/
β βββ data/ # Data layer (local & remote)
β βββ features/ # Feature-specific logic
β βββ presentation/ # UI layer (views, widgets)
β βββ services/ # Business logic services
β βββ utils/ # Utilities and constants
βββ main.dart # Application entry point
βββ app.dart # App configuration
- Flutter - Cross-platform UI framework
- Dart - Programming language
- Riverpod - State management
- Firebase - Backend services
firebase_core- Firebase initializationfirebase_auth- User authenticationcloud_firestore- NoSQL databasefirebase_storage- File storageflutter_riverpod- State managementflutter_hooks- React-like hooksdevice_preview- Multi-device testinglottie- Animationsimage_picker- Media selectionvideo_player- Video playback
- Flutter SDK (>=3.0.3)
- Dart SDK
- Firebase project setup
- Android Studio / VS Code
- Git
-
Clone the repository
git clone https://github.com/yourusername/monami.git cd monami -
Install dependencies
flutter pub get
-
Firebase Setup
- Create a Firebase project
- Enable Authentication, Firestore, and Storage
- Download
google-services.json(Android) andGoogleService-Info.plist(iOS) - Place them in the respective platform folders
-
Run the application
flutter run
For testing purposes, use these credentials:
- Email: demo@monami.com
- Password: demo123
dart format .flutter analyzeflutter testflutter build apk --releaseflutter build ios --releaseflutter build web --releaseWe welcome contributions! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow Dart/Flutter conventions
- Use meaningful variable and function names
- Add comments for complex logic
- Write unit tests for new features
This project is licensed under the MIT License - see the LICENSE file for details.
Your Name
- GitHub: @yourusername
- LinkedIn: Your LinkedIn
- Email: your.email@example.com
- Flutter team for the amazing framework
- Firebase for backend services
- Riverpod team for state management
- Open source community for inspiration
- Payment gateway integration
- Push notifications
- Offline support
- Advanced analytics
- Multi-language support
- Admin dashboard
Made with β€οΈ using Flutter
β Star this repository if you found it helpful!


