Deep-dive documentation covering the design, architecture, patterns, and implementation details of the MiniJWS project.
This project is intended as a resource for university students to see concepts learned in their degree applied in a real project: here we document not only which Java classes are used and why, but also the design decisions made and the patterns employed, with their rationale.
| File | Description |
|---|---|
| Patterns | Design patterns used (Builder, Middleware/CoR, Strategy, etc.) |
| Decisions | Key design decisions and their rationale |
| Core Classes | HttpServer, HttpRequest, HttpResponse, HttpDecoder, HttpEncoder, StaticFileHandler |
| Middleware Classes | AccessLogMiddleware, CorsMiddleware, GzipMiddleware, RateLimitMiddleware |
| Support Classes | ContentType, HttpMethod, HttpStatusCode, HttpDecoder internals, other modules |
| HTTP Protocol Fundamentals | HTTP protocol explained from scratch, with references to MiniJWS code |
| Java API Reference | Comprehensive Java language and API docs used in the project |
| Unit Testing | What unit tests are, the AAA pattern, test doubles, and how tests are structured in MiniJWS |