Based on the structure I've provided and the typical Feature First structure, our current setup is on the right track. Here's a brief review of new structure:
lib
: This is the root directory for your Flutter project's Dart code.common
: This directory is good for placing shared utilities, widgets, or other code that is not specific to any feature.config
: This directory is appropriate for storing configuration files or settings that might be used across different features.constants
: This directory is suitable for storing constant values that might be used throughout the app.data
: This directory could be used for data models or interfaces that are used by multiple features.di
: For dependency injection, which is a good practice for managing dependencies and services.exceptions
: This is a good place to define custom exceptions that might be thrown by your app.features
: This directory is central to the Feature First structure. Each feature should have its own subdirectory, and this is where you've placedhome
,info
, etc. This allows each feature to be developed, tested, and maintained independently.localization
: This is the right place for localization files, which helps in supporting multiple languages in your app.routing
: This directory is suitable for managing your app's routing logic, which is a key part of navigation and user experience.utils
: This directory is appropriate for utility functions that might be used across different features.
Overall, our structure is well-organized and follows the Feature First principles. Each feature has its own directory, and shared resources are placed in the appropriate common
, config
, constants
, data
, utils
directories. This setup allows for better separation of concerns, easier maintenance, and improved scalability as your app grows.
What's Changed
- Remove pubspec.yaml from .gitignore by @Erengun in #1
- Create dependabot.yml by @Erengun in #2
- Bump fpdart from 0.6.0 to 1.1.0 by @dependabot in #7
- Bump connectivity_plus from 4.0.2 to 5.0.1 by @dependabot in #6
- Bump flutter_hooks from 0.18.6 to 0.20.3 by @dependabot in #5
- Bump riverpod_lint from 1.4.0 to 2.3.2 by @dependabot in #3
- Bump go_router from 9.1.1 to 12.0.0 by @dependabot in #4
- Bump flutter_lints from 2.0.3 to 3.0.1 by @dependabot in #10
- Bump retrofit_generator from 7.0.8 to 8.0.3 by @dependabot in #9
- Bump go_router from 12.1.3 to 13.0.0 by @dependabot in #16
- Introduce Feature First Structure for Enhanced Modularity by @Erengun in #17
Full Changelog: https://github.com/Erengun/Flutter-Riverpod-2.0-Template/commits/v1.0.1