A User project created in flutter using Riverpod. It supports both android and ios, clone the appropriate branches mentioned below:
For Mobile: https://github.com/amalnaami/user_task
Download or clone this repo by using the link below:
https://github.com/amalnaami/user_task
Go to project root and execute the following command in console to get the required dependencies:
flutter pub get
Run project:
flutter run
This app contain two screens the first screen will show a list of users and when click on any user it will move you to second screen which contain user image and his posts.
I upload screen Recording
, that explains almost the flow of the task
usertask.mp4
I also handel if there is api status failed or disconnect internet issue.
-
Publish the project on Github
-
Define App Text Theme which contain
-
TextTheme
-
App Font Family
-
-
Define color palette for the app on Constant.
-
For API calls :
Dio
-
Log APIs using LogInterceptor in Dio package
-
State management:
Riverpod
-
For route navigation:
GoRoute
- Provide Localization options (English and Arabic)
- Reusable UI components
-
Get List Of Users.
-
Get Posts to every user.
| flutter-app/
|- android
|- build
|- ios
|- lib
|- test
|-- lib |-- core (Contains any code can shared between features such as app theme, constants, etc.) |-- models | |-- feature_name_model.dart |-- providers (Contain all feartures provider) |-- repositories | |-- feature_repository.dart |-- screens | |-- screen_name | |-- screen_widgets |-- services (Contain api manger and all Api Status) |-- utils | |-- localization | |-- shared_widgets (Like loader and errors) |-- main |-- route (Conatin all router and screens of all)
I will be happy to answer any questions that you may have on this approach 🙂