Search for flights and deep dive into large offers of travelling destinations. Discover recommended and popular places. Hop on on the virtual mode to simulate travelling immediately to your desired destination and learn more about it, including interesting information and points of interests! 🚀
flutter pub get
Run freezed and json_serializable code generators:
flutter pub run build_runner build --delete-conflicting-outputs
Automatically rebuild on changes with:
flutter pub run build_runner watch
Run on the device:
flutter run
(run in Profile mode if you want to test the performance)
Run on the web (make sure you are on the beta channel):
flutter run -d web
Run with flag on the web with better performance (experimental):
flutter run -d web --release --dart-define=FLUTTER_WEB_USE_SKIA=true
Run on the desktop (Windows) (make sure you are on the dev channel):
flutter run -d windows
NOTE: If you want to use remote APIs instead of local mocked data, you need to obtain API key(s).
Obtain the Amadeus Travel API key here.
Then:
false
in lib/utils/debug_options.dartI wanted to make a flight searching app with interesting suggestions, fully from the scratch. However, due to the current situation with the pandemic, many countries are restricted for some citizens so travelling there isn’t possible. This app has virtual travelling mode, which simulates the travelling here, displays interesting information about the desired location, including picture, points of interests and etc. There’s a possibility to save the locations, so you can check them out later!
Powered by the Amadeus for Developers API, which fits best for this use and offers also free monthly quota for testing! Amadeus Travel APIs connect you to the richest information in the travel industry.
Using the bloc library allows us to separate our application into three layers:
There’s no unique rule on what to choose because it always depends on many criteria. When it came to deciding on which state management approach to use in my case, I was deciding between Provider and bloc library. Bloc library is already dependant on Provider package so it is fairly similar in terms of a dependency injection (DI) (a single instance of a Cubit or Bloc can be provided to all of the widgets within a subtree). Read more here about bloc library and Provider.
The reasons why I decided to use the bloc library in my case were following:
The app is still in the development process and isn’t suitable for contributions yet.
If you wish to contribute, file an issue with an appropriate tag or propose a PR. If it is a breaking change, please create an issue first.
Author: mzdm
Source Code: https://github.com/mzdm/virtual_traveller_flutter
#flutter #dart #mobile-apps