A Social Media Flutter project developed using Clean Architechture and TDD with a lot of Tests.
- Authentication: Explore a curated list of stories in your dashboard.
- Story: Add story with or without location.
- Maps: Get location from each story including yours.
- Detail: View detailed information about each story.
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.
- animate_do: A package for creating animations in Flutter.
- animated_bottom_navigation_bar: Provides an animated bottom navigation bar widget for Flutter applications.
- animations: Offers utilities for creating animations in Flutter.
- another_flushbar: Provides a notification package for Flutter applications.
- bloc_concurrency: Facilitates managing Bloc concurrency in Flutter applications.
- bloc_test: Provides testing utilities specifically designed for Bloc components in Flutter.
- dropdown_button2: Provides a dropdown button widget for Flutter applications.
- easy_localization: Simplifies internationalization in Flutter applications.
- equatable: Offers utilities for handling equality comparisons in Dart.
- flutter_cache_manager: Facilitates caching management in Flutter applications.
- flutter_screenutil: Provides utilities for adapting UI elements to different screen sizes in Flutter.
- flutter_staggered_grid_view: Offers a staggered grid view widget for Flutter applications.
- geocoding: Provides utilities for geocoding in Dart.
- geolocator: Offers utilities for geolocation in Dart.
- go_router: A routing package for Flutter applications.
- google_maps_flutter: Enables integration of Google Maps in Flutter applications.
- image_picker: Provides an image picker widget for Flutter applications.
- json_annotation: Offers utilities for JSON serialization in Dart.
- readmore: Provides a "read more" widget for Flutter applications.
- slang: Provides localization support for Dart applications.
- slang_flutter: Offers localization utilities specifically designed for Flutter applications.
- very_good_analysis: Provides analysis tools for Dart and Flutter projects.