Your Content Management Superpower for Flutter
Hey Flutter devs! 👋 Ready to supercharge your content management game? EDNet CMS is here to make your life easier when building complex, content-rich Flutter apps.
EDNet CMS is your secret weapon for creating multiplatform, web-integrated, business-rich MVPs. It's not just a library; it's a whole new way of thinking about content management in Flutter, complete with a powerful interpreter app called EDNet One.
Ever felt like content management in your apps is a bit... messy? Us too. That's why we created EDNet CMS. Here's what makes it special:
-
Content is King (and Queen): We recognize that content is everywhere, often recursive, and self-defined. Sounds complex? That's because it is! But don't worry, we've got you covered.
-
User-Centric Approach: We model content primarily based on how users interact with it in different contexts. It's all about that user experience!
-
Abstraction Level: Expert: We elevate the abstraction level above the current web landscape, making it easier to map content across different user contexts.
We've baked in some seriously cool principles:
- Human Biology: We consider how humans physically interact with content.
- Human Psychology: We design with the human mind in focus, making UIs that just make sense.
- Digital Realism: We account for the limitations of digital products in our design process.
We're all about opinionated abstractions:
- Custom Language: We speak your domain's language.
- Event Storming: Capture your system's dynamics visually.
- Domain-Driven Design: Your code structure mirrors your business logic.
- Code Generation: Less boilerplate, more productivity.
-
Add
ednet_core
andednet_cms
to yourpubspec.yaml
:dependencies: ednet_core: latest ednet_cms: latest dev_dependencies: build_runner: latest
-
Model your domain: Create
.ednet.yaml
files inlib/requirements/
for each of your bounded contexts.Example:
# lib/requirements/household/finance/finance.ednet.yaml domain: Household model: Finances concepts: - name: Income attributes: - name: amount type: number - name: source type: string - name: Expense - name: Budget - name: Transaction
-
Start the build_runner in watch mode:
dart run build_runner watch --delete-conflicting-outputs
-
Generated OneApplication is entry point into your domain models.
-
Use EDNet One to visualize and interact with your domain model:
flutter run
EDNet One is a multiplatform Flutter application that brings your EDNet.dev domain models to life:
- Master-Detail UX Pattern: Drill down from domains to models to entities seamlessly.
- Interactive Graph View: Visualize entity relationships across domains.
- Multiplatform Support: Run on Android, iOS, Web, and Desktop.
- Theme Support: Switch between light and dark themes.
- In-Vivo Domain Model Editing: Modify your domain model directly within the app.
- DBpedia and SPARQL Integration: Enrich your data with vast knowledge graphs.
- Generative AI: Get AI-assisted suggestions for model and UI improvements.
- API Integration: Connect with calendar, email, project management, and more.
-
Clone the repository:
git clone https://github.com/ednet-dev/cms.git
-
Navigate to the EDNet One directory:
cd cms/apps/one
-
Install dependencies:
flutter pub get
-
Refer to Getting Started
-
Run the application:
flutter run
We're not just building a library; we're cultivating a community of Flutter developers who believe in building scalable, maintainable apps. Join us on GitHub to contribute, report issues, or just say hi!
Individual packages and applications within this repository have their own licenses, - see the LICENSE file for details.
For more information, please contact our dev team.