The opinionated, scalable core starter kit for Dart & Flutter.
Minimalist architecture, domain-first approach, and developer zen.
DartZen embraces minimalism, scalability, and developer zen, with a strong focus on predictable server behavior under load. Built on the principle that less is more, it provides a clean foundation for building production-ready Dart and Flutter applications without unnecessary complexity.
- Zen Architecture: Explains the core principles behind DartZen: product-first design, minimal cognitive load, zero magic, and explicit integrations.
- GCP-Native Approach: Describes how DartZen is built around Google Cloud Platform and Firebase as first-class dependencies, not abstracted infrastructure.
- Development Workflow: How the monorepo is developed, tested, and maintained, including local development, emulators, and CI.
- Local Development & Emulators: How to run DartZen locally using Firebase and GCP emulators, environment variables, and provided scripts.
- Packages Overview: A high-level map of DartZen packages, their responsibilities, and how they are meant to be used together.
- Server Runtime: Defines the DartZen server as a GCP-native runtime built on Shelf, focused on clarity, performance, and deterministic execution under load.
- Versioning and Releases: Explains independent package versioning, SemVer, and release strategy within the DartZen monorepo.
- Coverage model and aggregation: Defines the coverage model for this monorepo and explains how per-package and aggregate coverage is generated and interpreted.
This is a monorepo managed with Melos, containing multiple Dart packages organized for maximum reusability and independent versioning.
dartzen/
├── packages/
│ ├── dartzen_core/ # Core primitives, contracts, and domain value objects
│ ├── ...
│ └── dartzen_ui_navigation/ # Navigation widget for Flutter applications
├── apps/ # Example applications
│ └── ZenDemo/ # Full-stack demo app (Flutter web + Dart Shelf server)
├── melos.yaml # Monorepo configuration
└── CONTRIBUTING.md # Contribution guidelines
dartzen_core: Core primitives, shared contracts, result types, and domain value objects — the foundation for all other packages. Does not include infrastructure, IO, framework, or platform-specific code.dartzen_localization: Foundational runtime-aware localization package for the DartZen ecosystem.dartzen_firestore: Firestore operations, typed access, and converters for the DartZen ecosystem.dartzen_ui_navigation: Unified, adaptive navigation layer for DartZen applications with platform-specific optimizations.dartzen_transport: DartZen transport layer for serialization, codec selection, WebSocket communication, HTTP client, and server/client middleware.dartzen_cache: Simple, explicit, and predictable caching for the DartZen ecosystem with in-memory and GCP Memorystore backends.dartzen_server: DartZen server application framework — defines application lifecycle, middleware, routing, and configuration.dartzen_storage: Google Cloud Storage reader for the DartZen ecosystem.dartzen_identity: Identity service for DartZen — provides a unified interface for identity management, including authentication, authorization, and user management.dartzen_ui_identity: Cross-platform, adaptive UI components and screens for DartZen Identity flows.dartzen_ai: AI integration package for DartZen — provides interfaces and implementations for GCP Vertex AI / Gemini integration.dartzen_payments: Payments integration package for DartZen — provides interfaces and implementations for Stripe and Adyen payment providers.dartzen_jobs: A unified background and scheduled jobs system for DartZen applications.dartzen_telemetry: Telemetry and monitoring package for DartZen — provides interfaces and implementations for logging, metrics, and tracing using GCP Cloud Logging and Cloud Monitoring.dartzen_executor: A unified task executor for DartZen applications, supporting concurrent and sequential task execution with error handling, retries, and policies.dartzen_ui_admin: Cross-platform, adaptive UI components and screens for building admin CRUD interfaces in DartZen applications.
ZenDemo: A full-stack demo application showcasing DartZen in action with a Flutter web client and Dart Shelf server, using Firebase emulators for local development.
This project is licensed under the Apache License 2.0 — see the LICENSE file for details.