A Modest Flutter project developed using Clean Architechture and TDD with 56 Tests.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
- Recommended Restaurants Near You: Explore a curated list of recommended restaurants in your vicinity.
- Bookmark: Save your favorite restaurants for quick access.
- Search: Find restaurants based on your preferences.
- Detail: View detailed information about each restaurant.
- Review: Share your thoughts and read reviews from other users.
- Notification: Stay updated with the latest restaurant-related notifications.
The project follows the principles of Clean Architecture, emphasizing separation of concerns and maintainability. It is structured into distinct layers, including:
Presentation Layer: User interfaces and components built with Flutter. Domain Layer: Contains business logic and use cases. Data Layer: Manages data sources, repositories, and external services.
The project adopts a Test-Driven Development (TDD) approach to ensure code reliability and maintainability. Unit tests, integration tests, and widget tests are utilized to cover various aspects of the application.
- AndroidAlarmManagerPlus: Scheduling background tasks on Android with ease.
- AutoRouter: Code generation for navigation in Flutter.
- Bloc: Efficient state management for Flutter applications.
- BlocTest: Helper methods for testing BLoC components.
- CachedNetworkImage: Caching network images for improved performance.
- Dartz: Bringing functional programming to Dart.
- Equatable: Simplifying equality comparisons in Dart.
- Floor: SQLite abstraction for Flutter applications.
- flutterBloc: Legacy version of the Bloc library for Flutter.
- flutterLocalNotification: Handling local notifications in Flutter.
- flutterRatingBar: A simple yet fully customizable star rating bar.
- FlutterScreenUtils: Streamlining screen adaptation across different sizes.
- flutterSvg: SVG rendering in Flutter.
- GetIt: A straightforward service locator for Dart and Flutter projects.
- Http: Making composable and Future-based HTTP requests.
- internetConnectionCheckerPlus: Checking internet connectivity.
- intl: Internationalization and localization support for Dart.
- Lottie: Seamless integration of Lottie files for captivating animations.
- Mocktail: A powerful mocking library for Dart and Flutter.
- Provider: Simple and effective state management using provider patterns.
- RxDart: Reactive programming in Dart.
- SalomonBottomBar: A customizable and visually appealing bottom navigation bar.
- SharedPreferences: Easy storage of key-value pairs for app data persistence.
- SqFlite: SQLite database implementation for Flutter applications.
- VeryGoodAnalysis: Ensuring code quality with best practices.





