DaysLeft Mobile App Development
Application Development
For those interested the application is built using the latest version of Flutter (as of December 4th 2022). The architecture has been updated and now uses uses flutter_riverpod and is split into feature layers, similar to
- - home layer
- - trips layer
- - passports layer
- - providers
- - ui
- - components
Application Architecture
The project is split across multiple packages to allow for unit testing of each individual dependency.
Data Layer
This consists of the trip_api, local_trip_api, passport_api, local_passport_apiand the countries_api packages. The local_xxxx_api being an implementation of xxx_api using the Flutter shared preferences package.
Domain Layer
This contains the and passport_repository which areresponsible for interacting with the trip, passport and Schengen country information in the data layer.
Feature Layer
This has all the application specific features and holds the UI and business logic. This is seperated into the feature layers and is found in the lib/src directory.