Skip to content

JAICHANGPARK/taerae

Repository files navigation

Taerae

Taerae is an embedded, lightweight graph database project for Dart and Flutter. It is designed to run without an external GraphDB server (for example, no Neo4j dependency), so apps can model and query graph relations fully on-device.

Build graph-powered apps in Dart/Flutter without running a graph server.
Use local-first graph queries with durability controls for real app data.
Extend naturally into on-device AI and GraphRAG workflows.

Dart Flutter Analyze Test Runtime AI

Get Started

Why Taerae

Taerae is optimized for app-embedded graph workloads, not server-cluster workloads.

Perspective Typical server GraphDB usage Taerae
Infrastructure Separate DB server and operations In-app embedded graph runtime
Connectivity Usually network-dependent Local-first, offline-capable
Flutter UX Custom adapter required TaeraeGraphController ready for UI state
AI extension External wiring required Built-in GraphRAG extension points
Operational cost DB hosting and maintenance overhead Lower infra/ops burden for app-local use cases

Awesome Points

  • No Neo4j required: run graph features without external GraphDB infrastructure.
  • Import and use: single Dart/Flutter stack for graph modeling and querying.
  • Offline-ready: graph queries keep working without network dependency.
  • Flutter-native DX: ChangeNotifier-based controller for immediate UI integration.
  • GraphRAG ready: embedder/index/chunker/filter/reranker hooks included.
  • Durability control: WAL + snapshot with configurable flush/atomicity strategy.
  • Prototype-to-product: consistent API from local prototype to production app features.

Packages

  • packages/taerae_core: pure Dart graph engine and query core.
  • packages/flutter_taerae: Flutter plugin/package that wraps taerae with Flutter-friendly APIs.
  • examples/: standalone example projects for common usage patterns.

Documentation

  • Detailed docs index: DEVELOPER_DOCS.md
  • Core guide: packages/taerae_core/DEVELOPER_GUIDE.md
  • Flutter guide: packages/flutter_taerae/DEVELOPER_GUIDE.md
  • Flutter API reference: packages/flutter_taerae/API_REFERENCE.md

Vision

  • Local-first graph modeling for mobile, desktop, and web.
  • Expand toward on-device AI workflows and GraphRAG pipelines.
  • Keep the core lightweight so it can run in resource-constrained environments.

Setup and Prerequisites

  • Required toolchains:
    • Dart SDK >=3.11.0
    • Flutter SDK >=3.3.0
  • Verify local setup:
dart --version
flutter --version
flutter doctor
  • Bootstrap dependencies:
cd packages/taerae_core
dart pub get

cd ../flutter_taerae
flutter pub get

for dir in ../../examples/*; do
  (cd "$dir" && dart pub get)
done

See examples/README.md for a complete example list and runnable scenarios.

Local Development

Standard local checks from repository root:

./scripts/dev-checks.sh

Fast loop (skip example dependency bootstrap):

./scripts/dev-checks.sh --skip-examples

Equivalent manual commands:

cd packages/taerae_core
dart test

cd ../flutter_taerae
flutter test

Examples

cd examples/basic_graph_queries
dart pub get
dart run

See examples/README.md for all sample projects. Real-life scenario samples include:

  • examples/real_life_city_commute
  • examples/real_life_delivery_ops
  • examples/real_life_personal_notes_rag
  • examples/real_life_social_recommendation

Pub.dev Publishing Plan

  1. Publish taerae first.
  2. Update flutter_taerae dependency from local path to the published taerae version.
  3. Publish flutter_taerae.

About

Taerae is an embedded, lightweight graph database project for Dart and Flutter. It is designed to run without an external GraphDB server (for example, no Neo4j dependency), so apps can model and query graph relations fully on-device.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors