You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Jazzy is a lightweight web framework for Java. It provides a minimal and easy-to-understand API for developing fast web applications.
3
+
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.
4
4
5
5
## Features
6
6
7
7
- Simple and intuitive API
8
8
- Routing system with HTTP method support (GET, POST, PUT, DELETE, PATCH)
9
9
- URL path parameter support
10
-
- Automatic parameter mapping
11
-
- Simple metrics collection and reporting
10
+
- Request validation with comprehensive rules
11
+
- JSON response generation with fluent API
12
+
- Metrics collection and reporting
12
13
13
14
## Quick Start
14
15
15
16
To develop a web application with Jazzy, you can follow this example code:
16
17
17
18
```java
18
19
// App.java
19
-
packagecom.example;
20
+
packageexamples.basic;
20
21
21
22
importjazzyframework.core.Config;
22
23
importjazzyframework.core.Server;
23
24
importjazzyframework.routing.Router;
24
25
25
-
publicclassApp {
26
-
publicstaticvoidmain(String[] args) {
27
-
// Create configuration
26
+
publicclassApp
27
+
{
28
+
publicstaticvoidmain( String[] args )
29
+
{
28
30
Config config =newConfig();
29
31
config.setEnableMetrics(true); // "/metrics" endpoint is automatically added
-`ResponseFactory.java`: Factory for creating responses
151
+
-`JSON.java`: JSON creation utilities
152
+
-`validation/`: Validation system
106
153
-`controllers/`: System controllers
107
154
-`MetricsController.java`: Metrics reporting
108
155
-`examples/`: Example applications
@@ -115,55 +162,42 @@ Unit tests have been written to ensure the reliability of the framework. Test co
115
162
-`RouterTest`: Tests for adding routes, finding routes, and path parameter operations
116
163
-`RouteTest`: Tests for the route data structure
117
164
-`MetricsTest`: Tests for metric counters and calculations
118
-
-`MetricsControllerTest`: Tests for the metrics controller
165
+
-`ValidationTest`: Tests for the validation system
166
+
-`ResponseFactoryTest`: Tests for response generation
119
167
120
168
When adding new features or modifying existing code, it's important to update existing tests or add new tests to maintain the stability of the framework.
121
169
122
-
## Vision and Roadmap
123
-
124
-
Jazzy aims to simplify Java web development with a low learning curve, inspired by the elegance and developer-friendliness of Laravel in the PHP world. Our mission is to create a framework that enables developers to quickly build production-ready applications without the typical complexity associated with Java web frameworks.
125
-
126
-
We believe Java development doesn't have to be verbose or complicated. By bringing Laravel-like simplicity and expressiveness to Java, we want to make web development more accessible and enjoyable for Java developers.
170
+
## Roadmap
127
171
128
-
Key principles:
129
-
- Simplicity over complexity
130
-
- Convention over configuration
131
-
- Rapid development without sacrificing performance
132
-
- Low learning curve for developers new to Java or web development
172
+
Jazzy is actively being developed with the following features planned for upcoming releases:
133
173
134
-
##Future Features
174
+
### Upcoming Features
135
175
136
-
### Core Improvements
137
-
- JSON support with automatic serialization/deserialization
138
-
- Simple template engine
139
-
- Middleware system
140
-
- Form validation
141
-
- Database integration with simple ORM
176
+
-**Middleware System**: Support for request/response middleware chains
177
+
-**Database Integration**: jOOQ integration for type-safe SQL queries
178
+
-**Dependency Injection**: Custom DI container (PococContainer) with `@Named` and `@Qualified` annotations
179
+
-**Security Framework**: Authentication and authorization system
180
+
-**Caching System**: Redis integration for high-performance caching
-**CLI Tools**: Command line tools for code generation
188
+
-**And More...**: Stay tuned for additional features!
142
189
143
-
### Developer Experience
144
-
- Centralized routing configuration (similar to Laravel's routes.php)
145
-
- Authentication system with easy JWT integration
146
-
- Simple project setup and scaffolding
147
-
- Comprehensive documentation with examples
148
190
149
191
## Contributing
150
192
151
193
**Jazzy is actively maintained and we welcome contributions of any size!**
152
194
153
195
We believe that open source thrives with community involvement, and we appreciate all types of contributions, whether you're fixing a typo, improving documentation, adding a new feature, or reporting a bug.
154
196
155
-
### Ways to Contribute
156
-
157
-
-**Code Contributions**: New features, bug fixes, performance improvements
0 commit comments