Prepper-focused Morse code app — fully offline, free, useful for survival and learning.
- See ARCHITECTURE.md for design decisions.
- See CONTRIBUTING.md for how to set up your dev environment and submit changes.
- See TESTING.md for the testing strategy and test layers.
| Platform | Where to get it |
|---|---|
| Android | Google Play · F-Droid (listing pending) · GitHub Releases (APK) |
| Windows | GitHub Releases (zip — SmartScreen may warn on first run; click "More info → Run anyway") |
| Linux | GitHub Releases (tar.gz — extract and run morse_comms) · Snap/Flathub (planned) |
Linux audio: Microphone decoding requires PulseAudio or PipeWire (standard on Ubuntu, Fedora, Arch). Install runtime deps if missing:
sudo apt install pulseaudio-utils ffmpeg
Releases are built automatically by CI on every merge to main.
Release Windows:
flutter build windows --release
# Output: build/windows/x64/runner/Release/morse_comms.exeRelease Linux:
sudo apt install clang cmake ninja-build libgtk-3-dev liblzma-dev libasound2-dev libpulse-dev
flutter build linux --release
# Output: build/linux/x64/release/bundle/Release AAB (for Play Store upload):
flutter build appbundle --release
# Output: build/app/outputs/bundle/release/app-release.aabRequires android/key.properties with signing credentials (gitignored — see a maintainer).
Debug APK (fast, no signing needed):
flutter build apk --debug
# Output: build/app/outputs/flutter-apk/app-debug.apkRelease APK (optimised, requires signing config):
flutter build apk --release
# Output: build/app/outputs/flutter-apk/app-release.apkInstall to connected device/emulator after build:
adb install -r build/app/outputs/flutter-apk/app-debug.apk
adb shell am start -n com.mitossoftwaresolutions.morsecomms/.MainActivityRun the Flutter test suite:
flutter testRun the analyser with info-level checks enforced (zero warnings/infos allowed):
flutter analyzeThis is the same command run in CI. All code merged to main must pass cleanly.
Full dev mode (hot reload):
flutter run -d emulator-5554Quick relaunch (APK already installed):
adb shell am start -n com.mitossoftwaresolutions.morsecomms/.MainActivityInstall + launch from built APK:
adb install -r build/app/outputs/flutter-apk/app-debug.apk
adb shell am start -n com.mitossoftwaresolutions.morsecomms/.MainActivityContributions are welcome. The project uses a main / develop branch model:
- PRs from the community target
develop - Maintainers merge
develop→mainto cut a release
Please read CONTRIBUTING.md for the full workflow, coding style, and testing requirements.
record: ^6.0.0required (5.x ships incompatiblerecord_linux)- First build takes ~3 min (CMake + NDK download for
flutter_soloudnative layer) - Subsequent builds are fast (~10s Gradle incremental)
- If build fails with SDK
.tempdirectory error: delete%LOCALAPPDATA%\Android\Sdk\.temp\and retry

