Skip to content

Commit 7b2d630

Browse files
committed
📝 docs: Update README for v0.4.0 CRUD system release - Update latest features section with auto-CRUD capabilities - Add comprehensive CRUD features list - Add new Quick Start with @crud annotation example - Update documentation links and development commands - Update project structure with CRUD components - Promote 0.4.0 as recommended approach
1 parent c76889c commit 7b2d630

File tree

1 file changed

+96
-13
lines changed

1 file changed

+96
-13
lines changed

README.md

Lines changed: 96 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,25 +2,26 @@
22

33
Jazzy is a lightweight web framework for Java. It provides a minimal and easy-to-understand API for developing fast web applications with a structure inspired by Laravel and Spring Boot.
44

5-
## 🚀 Latest Updates (v0.3.0)
5+
## 🚀 Latest Updates (v0.4.0)
66

7-
**NEW: Database Integration & ORM System!**
7+
**NEW: Auto-CRUD System with Zero Boilerplate!**
88

9-
Jazzy Framework 0.3 introduces comprehensive database integration with Spring Data JPA-like features:
9+
Jazzy Framework 0.4 introduces revolutionary auto-CRUD capabilities that generate complete REST APIs with just annotations:
1010

11-
- 🗄️ **Hibernate Integration**: Full JPA/Hibernate support with automatic configuration
12-
- 🔍 **Spring Data JPA-like Repositories**: Automatic query generation from method names
13-
- 📝 **Custom Query Support**: @Query annotation for HQL/JPQL and native SQL
14-
- 🔄 **Transaction Management**: Automatic transaction handling
15-
- 🏗️ **Entity Management**: Automatic entity discovery and configuration
16-
- 📊 **Connection Pooling**: HikariCP integration for production-ready performance
17-
- 🎯 **Method Name Parsing**: `findByEmail`, `countByActive`, `existsByName` etc.
18-
- **Performance Optimized**: Database-level filtering instead of memory operations
11+
- 🎯 **@Crud Annotation**: Automatically generates all CRUD endpoints (GET, POST, PUT, DELETE)
12+
- 🔍 **Smart Search**: Built-in search functionality with configurable fields
13+
- 📊 **Pagination Support**: Automatic pagination with customizable page sizes
14+
- 🔄 **Batch Operations**: Support for bulk create, update, delete operations
15+
- 🎨 **Method Override**: Custom logic with @CrudOverride annotation
16+
- 📝 **Standardized Responses**: Consistent API response format with ApiResponse
17+
- **Zero Configuration**: Complete REST API with 3 lines of code
18+
- 🔧 **Highly Configurable**: Fine-tune behavior with comprehensive options
1919

2020
## Version History
2121

2222
| Version | Release Date | Key Features |
2323
|---------|-------------|--------------|
24+
| **0.4.0** | 2025 | 🆕 **Auto-CRUD System** - @Crud annotation, zero-boilerplate REST APIs, automatic endpoint generation, search & pagination |
2425
| **0.3.0** | 2025 | 🆕 **Database Integration** - Hibernate/JPA, Spring Data JPA-like repositories, automatic query generation, transaction management |
2526
| **0.2.0** | 2025 | 🆕 **Dependency Injection System**, Spring-like annotations, automatic component discovery, lifecycle management |
2627
| **0.1.0** | 2025 | Core framework with routing, request/response handling, JSON utilities, validation system, metrics |
@@ -29,7 +30,7 @@ Jazzy Framework 0.3 introduces comprehensive database integration with Spring Da
2930

3031
| Planned Version | Features |
3132
|----------------|----------|
32-
| **0.4.0** | 🔐 **Security & Authentication** - JWT support, role-based access control, security filters |
33+
| **0.5.0** | 🔐 **Security & Authentication** - JWT support, role-based access control, security filters |
3334

3435
## Features
3536

@@ -59,8 +60,81 @@ Jazzy Framework 0.3 introduces comprehensive database integration with Spring Da
5960
- **Entity Discovery**: Automatic entity scanning and configuration
6061
- **Connection Pooling**: HikariCP for production-ready database connections
6162

63+
### Auto-CRUD System (v0.4+)
64+
- **@Crud Annotation**: Automatically generates complete REST APIs with zero boilerplate
65+
- **Instant Endpoints**: GET, POST, PUT, DELETE endpoints created automatically
66+
- **Smart Search**: Built-in search functionality with configurable searchable fields
67+
- **Pagination Support**: Automatic pagination with customizable page sizes and limits
68+
- **Batch Operations**: Bulk create, update, delete operations for performance
69+
- **Method Override**: Custom business logic with @CrudOverride annotation
70+
- **Standardized Responses**: Consistent ApiResponse format across all endpoints
71+
- **Highly Configurable**: Fine-tune behavior with extensive configuration options
72+
- **Validation Integration**: Built-in input validation for create/update operations
73+
- **Audit Logging**: Optional audit trail for all CRUD operations
74+
6275
## Quick Start
6376

77+
### Auto-CRUD Application (v0.4 style) - Recommended
78+
79+
```java
80+
// 1. Entity
81+
@Entity
82+
@Table(name = "products")
83+
public class Product {
84+
@Id
85+
@GeneratedValue(strategy = GenerationType.IDENTITY)
86+
private Long id;
87+
88+
private String name;
89+
private String description;
90+
private Double price;
91+
private Integer stock;
92+
93+
// getters and setters...
94+
}
95+
96+
// 2. Repository
97+
@Component
98+
public interface ProductRepository extends BaseRepository<Product, Long> {
99+
// Framework handles all basic operations automatically
100+
}
101+
102+
// 3. Controller - That's it! Full REST API with 3 lines!
103+
@Component
104+
@Crud(
105+
entity = Product.class,
106+
endpoint = "/api/products",
107+
enablePagination = true,
108+
enableSearch = true,
109+
searchableFields = {"name", "description"}
110+
)
111+
public class ProductController {
112+
// Instantly get all these endpoints:
113+
// GET /api/products - List all products (with pagination)
114+
// GET /api/products/{id} - Get product by ID
115+
// POST /api/products - Create new product
116+
// PUT /api/products/{id} - Update product
117+
// DELETE /api/products/{id} - Delete product
118+
// GET /api/products/search?name=laptop - Search products
119+
}
120+
121+
// 4. Main Application
122+
public class App {
123+
public static void main(String[] args) {
124+
Config config = new Config();
125+
Router router = new Router();
126+
127+
// No manual route registration needed!
128+
// @Crud annotation handles everything automatically
129+
130+
Server server = new Server(router, config);
131+
server.start(8080);
132+
}
133+
}
134+
```
135+
136+
**🎉 Result**: You now have a complete REST API with 5+ endpoints, pagination, search, and standardized responses!
137+
64138
### Database Application (v0.3 style)
65139

66140
```java
@@ -236,6 +310,9 @@ Complete documentation for Jazzy Framework is available on our GitHub Pages site
236310
- [Repository Pattern](https://canermastan.github.io/jazzy-framework/repositories)
237311
- [Query Methods](https://canermastan.github.io/jazzy-framework/query-methods)
238312

313+
**Auto-CRUD System (v0.4+):**
314+
- [CRUD Operations Guide](https://canermastan.github.io/jazzy-framework/crud)
315+
239316
## Development
240317

241318
Jazzy is developed with Maven. After cloning the project, you can use the following commands:
@@ -255,6 +332,9 @@ mvn exec:java -Dexec.mainClass="examples.di.App"
255332

256333
# Run the database example application (v0.3+)
257334
mvn exec:java -Dexec.mainClass="examples.database.DatabaseExampleApp"
335+
336+
# Run the CRUD example application (v0.4+) - RECOMMENDED
337+
mvn exec:java -Dexec.mainClass="examples.simple_crud.SimpleCrudApp"
258338
```
259339

260340
## Project Structure
@@ -272,6 +352,7 @@ mvn exec:java -Dexec.mainClass="examples.database.DatabaseExampleApp"
272352
- `Request.java`: Request handling
273353
- `Response.java`: Response building
274354
- `ResponseFactory.java`: Factory for creating responses
355+
- `ApiResponse.java`: Standardized API response format (v0.4+)
275356
- `JSON.java`: JSON creation utilities
276357
- `validation/`: Validation system
277358
- `di/`: Dependency injection system (v0.2+)
@@ -287,13 +368,15 @@ mvn exec:java -Dexec.mainClass="examples.database.DatabaseExampleApp"
287368
- `HibernateConfig.java`: Hibernate/JPA configuration
288369
- `EntityScanner.java`: Automatic entity discovery
289370
- `RepositoryScanner.java`: Repository interface scanning
290-
- `annotations/`: Database annotations (@Query, @Modifying, @QueryHint)
371+
- `CrudProcessor.java`: Auto-CRUD system processor (v0.4+)
372+
- `annotations/`: Database annotations (@Query, @Modifying, @QueryHint, @Crud, @CrudOverride)
291373
- `controllers/`: System controllers
292374
- `MetricsController.java`: Metrics reporting
293375
- `examples/`: Example applications
294376
- `basic/`: Basic framework usage examples
295377
- `di/`: Dependency injection examples (v0.2+)
296378
- `database/`: Database integration examples (v0.3+)
379+
- `simple_crud/`: Auto-CRUD system examples (v0.4+)
297380

298381
## Tests
299382

0 commit comments

Comments
 (0)