Skip to content

x-model/jmodel

Repository files navigation

jModel

jModel is a prototype client-side library for managing web models. With built-in tools for dependency injection, state management, and validation, it allows keeping business logic separate from the UI, ensuring modularity, scalability, and reusability.

Read more here: Introduction to jModel

Example usage on StackBlitz

Goals

Minimal & Simple – Clean, lightweight, and easy to learn and use by both frontend and backend developers, with performance in mind

Key Features

  • Dependency Injection (DI) – Provides a robust and flexible DI system
  • Reactivity – Built-in reactivity for easy state management and efficient updates.
  • Validation Tools – Provides model-level validation utilities
  • UI Framework Agnostic – Easily integrates with various frontend frameworks through adapters.
  • Cross-Platform – Works seamlessly across browser and Node.js environments.
  • TypeScript Support – Fully typed for better reliability and maintainability.
  • Tree-Shakable – Optimized for minimal bundle size.

Roadmap

  • Refactor Dependency Injection (DI) system
  • Enhance reactive model functionality
  • Improve validation utilities
  • Add adapters for more UI frameworks/libraries (currently only Angular is supported)
  • Increase test coverage
  • Prepare documentation
  • Developer tools - CLI