Amjil Notes is a vertical Mongolian notes app built with Flutter (UI) and ClojureDart (app logic).
It stores data locally using Drift + SQLite and ships IME-related assets (fonts, dictionaries).
- Flutter: cross-platform UI
- ClojureDart (cljd):
.cljdsources compiled to Dart - Drift + SQLite: local persistence
- Mongolian:
mongol, bundled fonts + FST assets
src/notes_app/: ClojureDart sources- entry namespace:
notes-app.main(src/notes_app/main.cljd)
- entry namespace:
lib/: Dart / Flutter interop (including Drift database definitions)lib/database.dart: tables + migrationslib/database.g.dart: generated by Drift (do not edit)
assets/: fonts + IME data
- Flutter SDK (matching your local toolchain)
- Clojure CLI (
clj) - ClojureDart via
deps.ednalias:cljd
Install Dart/Flutter deps:
flutter pub getInitialize the ClojureDart/Flutter wiring (safe to re-run):
clj -M:cljd initThis runs flutter run while watching and recompiling .cljd files:
clj -M:cljd flutterYou can pass any flutter run flags after it, for example:
clj -M:cljd flutter -d macosclj -M:cljd compile
clj -M:cljd watchclj -M:cljd clean
flutter cleanThis project uses Drift’s generator for lib/database.g.dart.
One-off build:
dart run build_runner build --delete-conflicting-outputsWatch mode:
dart run build_runner watch --delete-conflicting-outputs- Native (Android/iOS/macOS/Windows/Linux): SQLite file is created in the app documents directory as
mgl_notes.db(seelib/connection/native.dart). - Web: uses Drift WASM (
sqlite3.wasm+drift_worker.js, seelib/connection/web.dart). - Schema & migrations:
schemaVersionis defined inlib/database.dartalong with the migration strategy.
MIT. See LICENSE.