Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/hasanhammoudah/fluttertddproject

TDDProject is a software development project that follows the Test-Driven Development (TDD) methodology to ensure code reliability and quality.
https://github.com/hasanhammoudah/fluttertddproject

dart dartz equatable flutter tdd

Last synced: about 1 month ago
JSON representation

TDDProject is a software development project that follows the Test-Driven Development (TDD) methodology to ensure code reliability and quality.

Awesome Lists containing this project

README

        

## Key Features

- **Test-Driven Development (TDD):** We follow TDD principles to ensure robustness and maintainability by writing tests before implementing functionality. This iterative approach allows us to develop features with confidence.

- **Clean Architecture:** Our project adheres to Clean Architecture principles, separating concerns into distinct layers such as domain, data, and presentation. This architecture promotes code maintainability, testability, and scalability.

- **BLoC Pattern:** We utilize the BLoC pattern for state management. BLoC separates business logic from UI components, facilitating code reusability and separation of concerns. It enables reactive programming and ensures testability through dependency injection.

## Target Audience

Our project is designed for Flutter developers interested in applying software development best practices like TDD and Clean Architecture in their projects. It serves as a practical example and reference for implementing these principles in real-world Flutter applications.

## Technologies Used

- Flutter SDK
- Dart programming language
- Test-Driven Development (TDD)
- Clean Architecture
- BLoC Pattern
- Unit and Widget testing frameworks

## Repository Structure

Our project repository is organized following Clean Architecture principles, with separate directories for each architectural layer. Tests are located alongside source code to maintain coherence and ease of navigation.

### Screenshots

| Screenshot 1 | Screenshot 2 |
| ------------------------------------ | ------------------------------------------ |
| ![Screenshot 1](assets/images/dd.png) | ![Screenshot 2](assets/images/image2.png) |