Introduction to ElastiCORE
This is the documentation of the ElastiCORE 2.2 line (Spring Boot 3, the 2.x generator). ElastiCORE 3.0 - the rule engine, DDD and hexagonal bundles, Kotlin and TypeScript output, Spring Boot 4 - has its own documentation: ElastiCORE 3.0. A 2.2 project upgrades by changing the version only; see Upgrading from 2.2.
Welcome to ElastiCORE! Experience the power of ElastiCORE in just 5 minutes.
What is ElastiCORE?
ElastiCORE is a modern framework that uses YAML-based DSL to develop Java applications. With simple YAML definitions, it automatically generates complete Spring Boot applications.
🚀 Key Features
- 📝 YAML DSL: Define domain models with intuitive YAML syntax
- ⚡ Automatic Code Generation: Auto-generate JPA entities, DTOs, services, and controllers
- 🍃 Spring Boot 3 Integration: Full Spring Boot 3.x support
- 🌐 gRPC Support: Microservice development with Protocol Buffers
- 🏗️ Modular Architecture: Extensible module structure
- 📊 Enterprise Support: Audit logging, search, pagination, and enterprise features
Why Choose ElastiCORE?
⏱️ Faster Development
# Just a few lines of YAML
entity:
User:
meta: entity @expose
fields:
id: string(36)! @id
name: string(100)! @search(like)
email: string(255)! @search(eq)
// Complete Spring Boot code is auto-generated
@Entity
@Table(name = "users")
public class User {
@Id
private String id;
@Column(length = 100)
private String name;
@Column(length = 255)
private String email;
// + constructors, getters/setters, builder pattern
}
// + UserRepository, UserService, UserController
// + UserDTO, UserSearchDTO
// + JPA Specifications for search
🎯 Focus on Business Logic
- Eliminate Boilerplate: Automatic CRUD code generation
- Consistent Code Quality: Standardized patterns and best practices
- Rapid Prototyping: Turn ideas into working applications instantly
🔄 Easy Maintenance
- Single Source of Truth: YAML definitions are the standard for all code
- Safe Refactoring: Bulk update related code when models change
- Documentation Sync: Model definitions serve as living documentation
Real-World Use Cases
ElastiCORE is used in projects such as:
- 🚗 Automotive Parts Management: Complex parts hierarchy and inventory management
- 💬 BBS System: User, post, and comment management
- 🐛 Bug Tracking System: Issue tracking and workflow management
- 📺 Channel Management: Media content and channel management
Next Steps
Ready to get started with ElastiCORE?
The best way to learn ElastiCORE is to write code yourself. Try the First Project Tutorial to get hands-on experience!
If you have questions or need help:
- 📧 Email: support@elasticore.io
- 📧 Email Support