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
Then each layer is further split into:
  • - 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.