This is a Flutter project called "Number Trivia App" that demonstrates various concepts and packages applied to build a simple trivia application focused on numbers. The app provides interesting trivia about different numbers entered by the user.
The following concepts and packages have been applied in this project:
-
TDD (Test Driven Development): The project has been developed using the Test Driven Development approach, where tests are written before the actual implementation to ensure better code quality and functionality.
-
Testing (Unit Tests and Bloc Tests): The app includes both unit tests and bloc tests to thoroughly test individual components and the business logic managed by BLoCs (Business Logic Components).
-
Clean Architecture (Layer-first Project Structure): The project follows the Clean Architecture principles to achieve separation of concerns and maintain a clear project structure with well-defined layers, making it more scalable and maintainable.
-
Dependency Injection using Get_it: Get_it package has been used for dependency injection, providing a clean and efficient way to manage and access dependencies across the application.
-
State Management (Cubit): The app utilizes the Cubit package for state management, which allows for a reactive and predictable approach to manage application states.
-
flutter_hooks: The app leverages the
flutter_hooks
package to create reusable and reactive components using hooks, making the codebase concise and easy to maintain. -
Dio: Dio package is used to make HTTP requests and handle network communication efficiently in the app.
-
flutter_native_splash: The
flutter_native_splash
package is used to set up native splash screens for the app, providing a smooth and seamless user experience during app startup.
To get started with the Number Trivia App, follow these steps:
-
Clone this repository to your local machine using: git clone https://github.com/mohab331/number_trivia_tdd.git
-
Ensure you have Flutter installed. If not, refer to the official Flutter installation guide to set up Flutter on your system.
-
Get the required dependencies by running: flutter pub get
Contributions to this project are welcome. Feel free to submit bug reports, feature requests, or pull requests.
This project is licensed under the MIT License.