Skip to content

Revitalizace UX/UI mobilní aplikace Nepanikař a převedení z Qt do frameworku Flutter. Aplikace Nepanikař poskytuje zdarma rychlou první psychologickou pomoc. Je plně funkční již 3 roky.

License

Notifications You must be signed in to change notification settings

cesko-digital/nepanikar

Repository files navigation

Nepanikař!

First aid for psychological issues - Official mobile app for nepanikar.eu

Original Qt version: https://github.com/ichlubna/mind

Project specs & conventions

  • targeted platforms: iOS, Android
  • Flutter version: 3.7.x
  • code style: 100 characters per line
  • state management: Provider
  • routing: GoRouter
  • data persistence: sembast (NoSQL)

We are committing generated files (.g.dart, .freezed.dart) to VCS to save time in Continuous Integration.

Project documentation

Adding a new asset

flutter_gen package let's us quickly generate paths for images/icons. To add a new asset, add it to ./assets/ and then run flutter packages pub run build_runner build -d. If you are creating a new assets folder, do not forget to reference it in pubspec.yaml.

Updating localization files

We are using Localazy for managing app localizations.

The prerequisites for running the localization update script are:

  • Python SDK
  • Python dependency stringcase: pip install stringcase
  • Localazy CLI (run npm install -g @localazy/cli or see Installation page for other options)

After that you can simply run the script located in ./bin/localazy/localazy_gen.sh.

Updating contacts & help data

Contacts & help data are generated from Dart objects for easier maintainability. These data are then converted and shipped within the app as JSON which is located in the ./assets/contacts/ folder. The whole contacts & help UI in the app is controlled by the content of this JSON file.

The prerequisites for updating and regenerating these data is:

  • Dart SDK

The source of these data are managed by nepanikar_contacts_gen Dart package, source data are located in ./packages/nepanikar_contacts_gen/bin/translation_extra_files/{language_tag}.dart.

Make there the necessary changes then simply run the script located in ./bin/nepanikar_contacts_gen to regenerate the JSON file.

Commands

  • flutter packages pub run build_runner build -d - regenerate go_route/freezed/assets files
  • flutter pub run build_runner watch -d - watch and generate automatically changes when files are changed
  • flutter gen-l10n - recompile .arb language files
  • flutter pub run flutter_native_splash:create - regenerate splash screen

Credits

We thank these tools and services for making better developer experience:

  • Codemagic - CI/CD for mobile apps (automatic builds, tests & publishing to stores)
  • Localazy - localization management

About

Revitalizace UX/UI mobilní aplikace Nepanikař a převedení z Qt do frameworku Flutter. Aplikace Nepanikař poskytuje zdarma rychlou první psychologickou pomoc. Je plně funkční již 3 roky.

Resources

License

Stars

Watchers

Forks