Skip to content
inositolsPublic

About

This repo is a another practical example of a complex and robust app using riverpod statemanagement library

Resources

Stars

3 stars

Watchers

1 watching

Forks

Latest commit

Β 

History

52 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Monami - E-commerce Flutter Application

Monami Logo

Flutter Dart Firebase License

πŸ“± Overview

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.

✨ Key Features

πŸ” Authentication & User Management

  • Secure user registration and login
  • Firebase Authentication integration
  • User profile management
  • Secure data storage with Flutter Secure Storage

πŸ›οΈ E-commerce Functionality

  • 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

🎨 User Experience

  • Responsive Design: Adapts to various screen sizes
  • Custom Animations: Smooth Lottie animations
  • Custom Paints: Beautiful UI components
  • Dark/Light Theme: Theme customization support

πŸ“± Social Features

  • Posts: Create and share content
  • Comments: Engage with community
  • Likes: Express appreciation
  • Media Support: Image and video uploads

πŸ—οΈ Architecture

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

πŸ› οΈ Tech Stack

Core Technologies

  • Flutter - Cross-platform UI framework
  • Dart - Programming language
  • Riverpod - State management
  • Firebase - Backend services

Key Dependencies

  • firebase_core - Firebase initialization
  • firebase_auth - User authentication
  • cloud_firestore - NoSQL database
  • firebase_storage - File storage
  • flutter_riverpod - State management
  • flutter_hooks - React-like hooks
  • device_preview - Multi-device testing
  • lottie - Animations
  • image_picker - Media selection
  • video_player - Video playback

πŸš€ Getting Started

Prerequisites

  • Flutter SDK (>=3.0.3)
  • Dart SDK
  • Firebase project setup
  • Android Studio / VS Code
  • Git

Installation

  1. Clone the repository

    git clone https://github.com/yourusername/monami.git
    cd monami
  2. Install dependencies

    flutter pub get
  3. Firebase Setup

    • Create a Firebase project
    • Enable Authentication, Firestore, and Storage
    • Download google-services.json (Android) and GoogleService-Info.plist (iOS)
    • Place them in the respective platform folders
  4. Run the application

    flutter run

Demo Credentials

For testing purposes, use these credentials:

πŸ“± Screenshots

Onboarding Login

πŸ§ͺ Testing

Code Formatting

dart format .

Linting

flutter analyze

Running Tests

flutter test

πŸ“¦ Build & Deployment

Android

flutter build apk --release

iOS

flutter build ios --release

Web

flutter build web --release

🀝 Contributing

We welcome contributions! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Code Style Guidelines

  • Follow Dart/Flutter conventions
  • Use meaningful variable and function names
  • Add comments for complex logic
  • Write unit tests for new features

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ‘¨β€πŸ’» Author

Your Name

πŸ™ Acknowledgments

  • Flutter team for the amazing framework
  • Firebase for backend services
  • Riverpod team for state management
  • Open source community for inspiration

πŸ“ˆ Roadmap

  • 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!

About

This repo is a another practical example of a complex and robust app using riverpod statemanagement library

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages