Giter Club home page Giter Club logo

flutter-tdd-clean-architecture-e-commerce-app's Introduction

Contributors Forks Stargazers Issues LinkedIn

Flutter TDD Clean Architecture E-Commerce App - EShop

Product Name Screen Shot

Welcome to the Flutter-TDD-Clean-Architecture-E-Commerce-App GitHub repository! This project is a showcase of modern mobile app development practices, leveraging the power of Flutter, Test-Driven Development (TDD), Clean Architecture, and the BLoC (Business Logic Component) package. Built using the latest version of Flutter 3, this E-Commerce application exemplifies best practices for building scalable, maintainable, and efficient Flutter apps.

Key Features:

  • Test-Driven Development (TDD): This project emphasizes the importance of writing tests before writing the actual code. It ensures that the application's logic is thoroughly tested, enhancing reliability and maintainability.
  • Clean Architecture: The app follows a clean and modular architecture that separates concerns into different layers: Presentation, Domain, and Data. This architecture promotes code reusability and makes it easier to adapt to changes in the future.
  • BLoC State Management: The app utilizes the BLoC pattern for state management. BLoC helps manage the flow of data and business logic in a clean and reactive manner, improving overall app performance.
  • E-Commerce Functionality: The app showcases a variety of E-Commerce features, such as product browsing, searching, cart and purchasing. Users can explore products, add them to their cart, and complete transactions seamlessly.

Feature UseCases
Product Get Product UseCase
Category Get Cached Category UseCase
Get Remote Category UseCase
Filter Category UseCase
Cart Get Cached Cart UseCase
Get Remote Cart UseCase
Add Cart Item UseCase
Sync Cart UseCase
User Get Cached User UseCase
SignIn UseCase
SignUp UseCase
SignOut UseCase
Delivery Info Get Cached Delivery Info UseCase
Get Remote Delivery Info UseCase
Add Delivery Info UseCase
Edit Delivery Info UseCase
Select Delivery Info UseCase
Get Selected Delivery Info UseCase
Order Get Orders UseCase
Add Order UseCase

Demo Sample

Contributing:

We welcome contributions from the Flutter community to make this project even better. Whether you are interested in adding new features, fixing bugs, or improving documentation, your contributions are highly appreciated. Please refer to the contribution guidelines in the repository for more details on how to get involved.

Getting Started

To get started with this project, follow the instructions in the README to set up your development environment and run the app locally. You can also explore the project's architecture, tests, and documentation to gain insights into building robust Flutter apps.

We hope this Flutter-TDD-Clean-Architecture-E-Commerce-App serves as a valuable resource for both Flutter enthusiasts and developers looking to learn about TDD, clean architecture, and BLoC in the context of mobile app development. Happy coding!

Installation

  1. Clone the repo
    git clone https://github.com/Sameera-Perera/Flutter-TDD-Clean-Architecture-E-Commerce-App.git
  2. Install packages
    flutter pub get
  3. Run app
    flutter run lib/main.dart
  4. Run test
    flutter test

For help getting started with Flutter, view our online documentation.

License

Distributed under the MIT License. See LICENSE for more information.

flutter-tdd-clean-architecture-e-commerce-app's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

flutter-tdd-clean-architecture-e-commerce-app's Issues

Enhance Documentation

Objective
Improve the documentation of the Flutter-TDD-Clean-Architecture-E-Commerce-App to provide more in-depth information about Clean Architecture, Functional Programming, TDD/Unit Testing and other essential concepts.

Implement Dark Theme

Objective
Add support for a dark theme in the Flutter e-commerce app to enhance user experience and provide a visually appealing alternative.

Overview
We want to introduce a dark theme option in our Flutter e-commerce app to cater to users who prefer a darker interface. This enhancement will involve modifying the app's UI components, ensuring proper color schemes, and providing a seamless transition between light and dark themes.

Implementation Details
Theme Configuration: Update the app's theme configuration to include a dark theme variant.
Color Scheme: Adjust the color scheme for optimal visibility and aesthetics in dark mode.
Toggle Functionality: Implement a user-friendly toggle switch or button to enable/disable the dark theme.
Testing: Thoroughly test the dark theme across different screens and devices to ensure a consistent and bug-free experience.
Contribution Guidelines

If you're interested in contributing to this enhancement, please follow these guidelines:

  • Fork the repository.
  • Create a new branch for your changes.
  • Implement the dark theme feature.
  • Test thoroughly on various devices and screen sizes.
  • Submit a pull request to the develop branch.

Additional Notes

  • Feel free to discuss any design decisions or challenges in the comments section.
  • Collaborate with other contributors to ensure a cohesive implementation.
  • Your feedback and suggestions are highly valued!
    Let's work together to make our Flutter e-commerce app even better! ๐Ÿš€

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.