Skip to content

amjil/mgl-notes-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

359 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Amjil Notes (mgl_notes_app)

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).

Tech stack

  • Flutter: cross-platform UI
  • ClojureDart (cljd): .cljd sources compiled to Dart
  • Drift + SQLite: local persistence
  • Mongolian: mongol, bundled fonts + FST assets

Repository layout (high level)

  • src/notes_app/: ClojureDart sources
    • entry namespace: notes-app.main (src/notes_app/main.cljd)
  • lib/: Dart / Flutter interop (including Drift database definitions)
    • lib/database.dart: tables + migrations
    • lib/database.g.dart: generated by Drift (do not edit)
  • assets/: fonts + IME data

Prerequisites

  • Flutter SDK (matching your local toolchain)
  • Clojure CLI (clj)
  • ClojureDart via deps.edn alias :cljd

Setup

Install Dart/Flutter deps:

flutter pub get

Initialize the ClojureDart/Flutter wiring (safe to re-run):

clj -M:cljd init

Development

Run with hot reload (recommended)

This runs flutter run while watching and recompiling .cljd files:

clj -M:cljd flutter

You can pass any flutter run flags after it, for example:

clj -M:cljd flutter -d macos

Compile / watch (without launching Flutter)

clj -M:cljd compile
clj -M:cljd watch

Clean build artifacts

clj -M:cljd clean
flutter clean

Drift code generation

This project uses Drift’s generator for lib/database.g.dart.

One-off build:

dart run build_runner build --delete-conflicting-outputs

Watch mode:

dart run build_runner watch --delete-conflicting-outputs

Database notes

  • Native (Android/iOS/macOS/Windows/Linux): SQLite file is created in the app documents directory as mgl_notes.db (see lib/connection/native.dart).
  • Web: uses Drift WASM (sqlite3.wasm + drift_worker.js, see lib/connection/web.dart).
  • Schema & migrations: schemaVersion is defined in lib/database.dart along with the migration strategy.

License

MIT. See LICENSE.

About

Notes APP for traditional mongolian

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages