https://github.com/dynamiatools/framework
Fullstack Java framework for enterprise web application
https://github.com/dynamiatools/framework
actions developer-tools framework hibernate java java-25 libraries modularization nodejs spring spring-boot vuejs zk
Last synced: 24 days ago
JSON representation
Fullstack Java framework for enterprise web application
- Host: GitHub
- URL: https://github.com/dynamiatools/framework
- Owner: dynamiatools
- License: apache-2.0
- Created: 2021-03-14T20:53:04.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2026-04-09T13:19:58.000Z (about 1 month ago)
- Last Synced: 2026-04-09T14:33:12.523Z (about 1 month ago)
- Topics: actions, developer-tools, framework, hibernate, java, java-25, libraries, modularization, nodejs, spring, spring-boot, vuejs, zk
- Language: Java
- Homepage: https://dynamia.tools
- Size: 9.01 MB
- Stars: 9
- Watchers: 1
- Forks: 3
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://search.maven.org/search?q=tools.dynamia)


[](https://github.com/dynamiatools/framework/actions/workflows/maven.yml)
[](https://github.com/dynamiatools/framework/actions/workflows/release.yml)
[](https://github.com/dynamiatools/framework/actions/workflows/publish-npm.yml)
[](https://dynamia.tools/getting-started/)
Dynamia Platform
> **The Next Generation of DynamiaTools**
**Dynamia Platform** is a cutting-edge full-stack Java 25 framework engineered for building robust, scalable enterprise web applications. Powered by **Spring Boot 4** and **ZK 10**, this new generation consolidates the core framework with essential enterprise extensions in a unified, batteries-included platform.
### ๐
CalVer Versioning
Starting with version **26.4.1**, Dynamia Platform adopts **Calendar Versioning (CalVer)** with the format `YY.MM.MINOR`. This means:
- **All modules share the same version**: Core, extensions, starters, themesโeverything is released together
- **26.4.1** = First release of February 2026 (Year 26, Month 02, Release 0)
- **26.2.1** = Second release of February 2026
- **26.3.0** = First release of March 2026
- **Unified releases** ensure compatibility and simplify dependency management
- No more version mismatches between platform components!
**Examples**:
- `26.4.1` โ February 2026, first release
- `26.2.1` โ February 2026, second release (hotfix or minor update)
- `26.12.3` โ December 2026, fourth release
## ๐ What Makes Dynamia Platform Special
Dynamia Platform represents a major evolution from DynamiaTools, bringing together:
- **Unified Repository**: Core framework + enterprise extensions in one place
- **Production-Ready Extensions**: Pre-integrated modules for common enterprise needs
- **Zero-Config Philosophy**: Sensible defaults with easy customization
- **Enterprise-Grade**: Built for scalability, multi-tenancy, and security
- **Developer Experience**: Focus on productivity and code simplicity
### ๐จ Automatic Frontend Generation
By default, **Dynamia Platform automatically generates full-featured web interfaces** using **ZK Framework**, a powerful server-side component framework that eliminates the need to write JavaScript, HTML, or CSS manually. Simply define your entities and view descriptors, and ZK renders responsive, interactive UIs with zero frontend code.
**Coming Soon**: In upcoming releases, Dynamia Platform will support **modern frontend frameworks** like **React**, **Vue**, and **Angular**, giving you the flexibility to choose your preferred technology stack while maintaining the same automatic generation capabilities. You'll be able to leverage our **TypeScript SDK** and pre-built components to build modern, decoupled SPAs that consume Dynamia's RESTful APIs.
## โจ Core Capabilities
- **Automatic CRUD Generation**: Define entities, get full-featured interfaces instantly
- **Automatic REST Endpoints**: RESTful APIs generated from your domain models
- **Modular Architecture**: Build and reuse modules (JARs) across projects
- **DRY Principle**: Write once, use everywhere approach
- **View Descriptors**: Declare UIs with YAML instead of verbose code
- **Modern Web Stack**: HTML5, CSS3, Bootstrap via ZK Framework
- **Flexible Patterns**: Use MVC or MVVM as per your preference
- **Theme Support**: Customize look and feel with pluggable themes
- **Seamless Integration**: Works with any Java framework or library
## ๐บ๏ธ Roadmap
### ๐ Short-Term Goals (2026 Q1-Q2)
We're actively working on making Dynamia Platform more accessible, flexible, and developer-friendly. Here's what's coming:
#### ๐ **Enhanced Documentation**
- Comprehensive guides and tutorials
- Real-world use cases and examples
- API reference improvements
- Video tutorials and screencasts
- Interactive documentation with live code samples
#### ๐ **Website Improvements**
- Modernized dynamia.tools website
- Interactive playground for testing features
- Community showcase and success stories
- Regular blog posts with tips and best practices
- Better search and navigation
#### ๐ฆ **TypeScript SDK**
A complete TypeScript/JavaScript package ecosystem for frontend development:
- **`@dynamia/client`** - Core client library for REST API interaction
- **`@dynamia/types`** - TypeScript type definitions for all API responses
- **`@dynamia/hooks`** - React hooks for common operations
- **`@dynamia/composables`** - Vue composables for reactive integration
- Full type safety and IntelliSense support
- Automatic API client generation from backend schema
- WebSocket support for real-time features
#### ๐จ **Vue Template**
Modern frontend template with:
- Vue 3 + TypeScript + Vite
- Pre-configured integration with Dynamia Platform APIs
- Responsive design with Tailwind CSS
- Authentication and authorization out of the box
- CRUD components library
- Form validation and data binding
- Real-time updates with WebSocket
- Dashboard and reporting components
#### ๐ **Frontend Framework Integration**
Seamless integration with popular frameworks:
- **React** - Components and hooks for React apps
- **Vue** - Full Vue 3 template and composables
- **Angular** - Services and components for Angular projects
- **Svelte** - Stores and components for Svelte
- **Next.js / Nuxt** - SSR support and optimizations
- Zero-config setup with sensible defaults
- Automatic API discovery and client generation
- Built-in authentication flows
#### โก **Automation & Developer Experience**
- CLI tool for scaffolding projects and modules
- Code generators for entities, views, and endpoints
- Hot reload for view descriptors
- Development dashboard for monitoring
- Docker Compose templates for quick setup
- GitHub Actions templates for CI/CD
- Automated testing utilities
### ๐ฎ Long-Term Vision
- **GraphQL Support** - Alternative to REST with automatic schema generation
- **Microservices Toolkit** - Tools for building distributed systems
- **Cloud-Native Features** - Enhanced Kubernetes support, service mesh integration
- **AI-Powered Code Generation** - Generate CRUD, forms, and reports from natural language
- **Mobile SDK** - Native iOS and Android libraries
- **Low-Code Builder** - Visual editor for building apps without coding
---
### ๐ค Help Shape the Future
We value community feedback! If you have ideas, suggestions, or want to contribute to any of these initiatives:
- ๐ฌ Join discussions on [GitHub Discussions](https://github.com/dynamiatools/framework/discussions)
- ๐ Report issues or request features on [GitHub Issues](https://github.com/dynamiatools/framework/issues)
- ๐ Star the project and spread the word!
---
## ๐ฆ Built-in Enterprise Extensions
Dynamia Platform includes powerful extensions in the `/extensions` folder:
### **Multi-Tenancy (SaaS)**
Full-featured SaaS support with:
- Account management and isolation
- Payment and subscription handling
- Per-tenant data segregation
- Status monitoring and control
### **Entity File Management**
Attach files to any entity with:
- Local disk storage
- **AWS S3 integration** for cloud storage
- Metadata persistence
- Automatic file handling
### **Email & SMS**
Professional communication capabilities:
- Email sending via JavaMail
- SMS delivery via AWS
- Template management
- Account configuration
- Delivery logging and tracking
### **Dashboard**
Beautiful, responsive dashboards featuring:
- Custom widget system
- Chart integration
- Responsive layouts
- Real-time data display
### **Reporting**
Comprehensive reporting framework:
- JPQL and native SQL queries
- Datasource management
- Export to CSV, Excel, PDF
- Email delivery
- Chart visualization
- Embeddable reports
### **Finance Framework**
Domain-driven financial calculations for:
- Invoices, credit/debit notes
- Purchase orders and quotes
- Multi-currency support
- Tax, discount, and withholding calculations
- Auditable, deterministic results
### **File Importer**
Streamlined data import workflows:
- Excel/CSV file processing
- Field mapping
- Validation and error handling
- Batch operations
### **Security**
Enterprise authentication and authorization:
- Role-based access control (RBAC)
- User and permission management
- Security profiles
- Integration with Spring Security
## ๐ Quick Start
### Prerequisites
- **Java 25** or higher
- Maven 3.9+ or Gradle 8+
- Your favorite IDE (IntelliJ IDEA, Eclipse, VS Code)
### Installation
1. **Create a Spring Boot Project**
Visit [start.spring.io](https://start.spring.io) or [click here for a preconfigured template](https://start.spring.io/#!type=maven-project&language=java&packaging=jar&jvmVersion=25&groupId=com.example&artifactId=my-dynamia-app&name=MyApp&description=Dynamia%20Platform%20Application&packageName=com.example.myapp&dependencies=web,data-jpa,h2)
Select:
- **Java 25**
- **Spring Boot 4.x**
- **Spring Web**
- **Spring Data JPA**
- **H2 Database** (or your preferred database)
- Your preferred language (Java, Kotlin, or Groovy)
2. **Add Dynamia Platform Dependencies**
**Maven** (`pom.xml`)
```xml
tools.dynamia
tools.dynamia.app
26.4.1
tools.dynamia
tools.dynamia.zk
26.4.1
tools.dynamia
tools.dynamia.domain.jpa
26.4.1
```
**Gradle** (`build.gradle`)
```groovy
dependencies {
implementation 'tools.dynamia:tools.dynamia.app:26.4.1'
implementation 'tools.dynamia:tools.dynamia.zk:26.4.1'
implementation 'tools.dynamia:tools.dynamia.domain.jpa:26.4.1'
}
```
3. **Enable Dynamia Platform**
Add the `@EnableDynamiaTools` annotation to your main application class:
```java
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import tools.dynamia.app.EnableDynamiaTools;
@SpringBootApplication
@EnableDynamiaTools // โ This is all you need!
public class MyApplication {
static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
```
4. **Run Your Application**
```bash
mvn spring-boot:run
# or
gradle bootRun
```
5. **Access Your Application**
Open your browser and navigate to: `http://localhost:8080`
You'll see a fully functional web application with the Dynamical theme!
### Adding Extensions
To use any of the built-in extensions, simply add their dependencies. **All extensions now share the same version (26.4.1)** thanks to unified CalVer:
```xml
tools.dynamia.modules
tools.dynamia.modules.saas
26.4.1
tools.dynamia.modules
tools.dynamia.modules.email
26.4.1
tools.dynamia.modules
tools.dynamia.modules.entityfiles
26.4.1
tools.dynamia.modules
tools.dynamia.modules.entityfiles.s3
26.4.1
tools.dynamia.modules
tools.dynamia.modules.dashboard
26.4.1
tools.dynamia.reports
tools.dynamia.reports.core
26.4.1
tools.dynamia.modules
tools.dynamia.modules.fileimporter
26.4.1
tools.dynamia.modules
tools.dynamia.modules.security
26.4.1
```
> **๐ก Pro Tip**: With CalVer, all Dynamia Platform components use the same version. Just use `26.4.1` for everything!
> **Note**: All artifacts are available on [Maven Central](https://search.maven.org/search?q=tools.dynamia)
## ๐ Documentation
Comprehensive guides, tutorials, and API documentation are available at:
**๐ [https://dynamia.tools](https://dynamia.tools)**
### Key Resources
- **[Getting Started Guide](https://dynamia.tools/getting-started/)** - Your first Dynamia app in 5 minutes
- **[Core Concepts](https://dynamia.tools/docs/)** - Understanding the framework architecture
- **[View Descriptors](https://dynamia.tools/docs/view-descriptors/)** - Declarative UI with YAML
- **[API Reference](https://dynamia.tools/api/)** - Complete API documentation
- **[Extensions Guide](https://dynamia.tools/extensions/)** - Working with built-in modules
- **[Examples](https://github.com/dynamiatools/framework/tree/master/examples)** - Sample applications
## ๐๏ธ Building from Source
### Prerequisites
- OpenJDK 25
- Maven 3.8+
- Git
### Build Instructions
```bash
# Clone the repository
git clone https://github.com/dynamiatools/framework.git
cd framework
# Build all modules
mvn clean install
# Skip tests for faster builds
mvn clean install -DskipTests
# Build only the core platform
cd platform
mvn clean install
# Build only extensions
cd extensions
mvn clean install
```
### Project Structure
```
DynamiaPlatform/
โโโ platform/ # Core framework modules
โ โโโ app/ # Application bootstrap
โ โโโ core/ # Core utilities and APIs
โ โโโ starters/ # Spring Boot starters
โ โโโ ui/ # UI components and themes
โโโ extensions/ # Enterprise extensions
โ โโโ saas/ # Multi-tenancy support
โ โโโ entity-files/ # File attachment system
โ โโโ email-sms/ # Communication module
โ โโโ dashboard/ # Dashboard widgets
โ โโโ reports/ # Reporting engine
โ โโโ finances/ # Financial calculations
โ โโโ file-importer/ # Data import utilities
โ โโโ security/ # Authentication & authorization
โโโ themes/ # UI themes
โโโ examples/ # Sample applications
```
## ๐ Version History & Evolution
Dynamia Platform has evolved over **13+ years** of continuous development at [Dynamia Soluciones IT](https://www.dynamiasoluciones.com), powering **10+ production projects** and **40+ modules** in real-world enterprise environments.
### ๐ฏ Evolution Journey
#### **v1.x - Foundation** (2011-2013)
The beginning: Internal utility library focused on:
- Hiding Spring and ZK complexity
- Database abstraction and configuration
- Service layer patterns
- Basic modular architecture
#### **v2.x - Automation** (2014-2016)
Revolutionary leap with:
- **View Descriptors**: YAML-based UI declaration
- **Automatic CRUD generation**: Zero-code interfaces
- **Navigation framework**: Modular page system
- Focus on maintainability over code generation
#### **v3.x - Open Source** (2017-2019)
Major refactoring and public release:
- Complete code reorganization
- Performance optimizations
- First public open-source release
- Community-driven development begins
#### **v4.x - Modernization** (2020-2022)
Java 11+ and ecosystem update:
- Java 11+ support
- Spring Boot integration
- Modern framework compatibility
- Enhanced documentation and demos
- Growing community adoption
#### **v5.x - Platform Era** (2023-2025)
**The Dynamia Platform Era** - Enterprise-ready unified platform:
- โ **Java 21** - Latest LTS features
- ๐ **Spring Boot 3** - Modern Spring ecosystem
- ๐จ **ZK 10** - Advanced UI framework
- ๐ข **Unified Repository** - Core + Extensions together
- ๐ฆ **Production Extensions** - Battle-tested enterprise modules
- ๐ **Security First** - Built-in authentication & authorization
- โ๏ธ **Cloud Ready** - AWS integration, containerization support
- ๐ **Enterprise Features** - Multi-tenancy, reporting, dashboards
#### **v26.x - CalVer Generation** (2026+)
**The Modern Era** - Simplified versioning and cutting-edge technology:
- ๐
**CalVer Versioning** (YY.MM.MINOR) - All modules unified under same version (Year.Month.Release)
- โ **Java 25** - Latest Java innovations and performance
- ๐ **Spring Boot 4** - Next-gen Spring ecosystem
- ๐จ **ZK 10+** - Modern web UI capabilities
- ๐ **Synchronized Releases** - Core, extensions, starters, and themes share the same version
- ๐ฏ **Simplified Dependencies** - One version to rule them all (e.g., 26.4.1 for February 2026)
- โก **Enhanced Performance** - Optimized for modern JVM and cloud environments
- ๐ก๏ธ **Production Hardened** - Battle-tested in enterprise environments
### ๐ Production Proven
- **13+ years** of continuous development
- **10+ enterprise applications** in production
- **40+ reusable modules** built with the framework
- Used by companies across **Latin America**, **USA** and **Europe**
- Powers critical business systems in various industries
This is not a new frameworkโit's a **mature, battle-tested platform** that's been serving real businesses for over a decade. Now open-source and ready for the global developer community.
## ๐ค Contributing
We welcome contributions from the community! Whether it's:
- ๐ Bug reports and fixes
- โจ New feature suggestions
- ๐ Documentation improvements
- ๐ก Example applications
- ๐ Translations
Please read our **[Contributing Guidelines](CONTRIBUTING.md)** before submitting pull requests.
## ๐ License
Dynamia Platform is open-source software licensed under the **Apache License 2.0**.
See [LICENSE](LICENSE) for details.
## โ Support Dynamia Platform
Dynamia Platform is built with dedication to help developers speed up their projects and make enterprise development more enjoyable. If this platform has been useful to you or your organization, consider supporting its development. Your support helps keep the project alive and evolving with new features and improvements. Every coffee counts! ๐
---
**Made with โค๏ธ by [Dynamia Soluciones IT](https://www.dynamiasoluciones.com)**
[Website](https://dynamia.tools) โข [Documentation](https://dynamia.tools/getting-started/) โข [GitHub](https://github.com/dynamiatools/framework) โข [Maven Central](https://search.maven.org/search?q=tools.dynamia)
