Skip to content

Official repository of Nepanikař (Don't Panic) mobile app for psychological first aid. It is designed and consulted with specialists to help with mental health problems.

License

Notifications You must be signed in to change notification settings

Nepanikar/nepanikar

Repository files navigation

Nepanikař!

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

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)

Project documentation

###Running application Run command flutter run from root folder of application.

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 run - run application
  • 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