Skip to content

Commit 48e3ffb

Browse files
committed
Improve the main README.md and the ROADMAP.md
1 parent 6dc6bdc commit 48e3ffb

File tree

3 files changed

+39
-38
lines changed

3 files changed

+39
-38
lines changed

README.md

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,18 @@ A lightweight, fast web framework for Zig
2121
---
2222

2323
Helium is a small, configurable web framework for Zig programming language.
24-
It provides the basic building blocks for creating fast and efficient web applications and services in Zig by composing
25-
a set of reusable components.
26-
Helium follows a micro-framework design philosophy, with a small core feature set that could be extended via optional
24+
It provides the essential building blocks for creating fast and efficient web applications and services in Zig by
25+
composing a set of reusable components.
26+
Helium follows a micro-framework design philosophy with a small core feature set that could be extended via optional
2727
middleware and utilities.
2828

29-
- **Nothing Hardcoded**: All features are opt-in and configurable
30-
- **Composable**: Build your application from small, reusable components
31-
- **Flexible**: Use what you need, ignore what you don't
32-
- **Minimal Core**: A small, focused API that doesn't get in your way
33-
- **Zero Magic**: Explicit and predictable behavior
29+
### Features
30+
31+
- Fully configurable and extensible components
32+
- Build your application from small, reusable components
33+
- Use what you need, ignore what you don't
34+
- A small, focused API that doesn't get in your way
35+
- Explicit and predictable behavior with minimal hidden states
3436

3537
### Core Features
3638

ROADMAP.md

Lines changed: 22 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,25 @@
1-
## Helium Web Framework Roadmap
1+
## Feature Roadmap
22

3-
This document outlines the development roadmap for Helium, a lightweight, configurable micro web framework for Zig.
3+
This document includes the roadmap for the Helium web framework.
4+
It outlines features to be implemented and their current status.
45

56
> [!IMPORTANT]
6-
> This roadmap is a living document and may change based on community feedback and evolving needs.
7-
8-
### Philosophy & Design Goals
9-
10-
Helium is designed as a **micro-framework** with these core principles:
11-
- **Configurability First**: Nothing is hardcoded; everything is opt-in and customizable
12-
- **Minimal Core**: Keep the core API small and focused
13-
- **Composability**: Features should be independent and composable
14-
- **Zero Magic**: Explicit, predictable behavior without hidden abstractions
15-
- **Performance**: Efficient use of resources with multiple concurrency models
7+
> This roadmap is a work in progress and is subject to change.
168
179
---
1810

19-
### Implemented Features
11+
### Implemented Features
2012

2113
#### Core Framework
14+
2215
- [x] Generic `App` type with custom context support
2316
- [x] Type-safe request handlers and middleware
2417
- [x] Configurable memory allocator per application
2518
- [x] Custom error handler support
2619
- [x] Multi-mode server (thread pool and event-driven I/O)
2720

2821
#### Routing System
22+
2923
- [x] Express.js-like routing API
3024
- [x] HTTP method support (GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS)
3125
- [x] Dynamic route parameters (e.g., `/users/:id`)
@@ -34,19 +28,22 @@ Helium is designed as a **micro-framework** with these core principles:
3428
- [x] Tree-based router for efficient path matching
3529

3630
#### Middleware System
31+
3732
- [x] Global middleware (applied to all routes)
3833
- [x] Group-scoped middleware (applied to route groups)
3934
- [x] Route-specific middleware chains
4035
- [x] Middleware composition with `next()` pattern
4136
- [x] Type-safe middleware signatures
4237

4338
#### Built-in Utilities
39+
4440
- [x] CORS middleware (allow-all origins)
4541
- [x] Static file server with path traversal protection
4642
- [x] Common log format middleware with timing
4743
- [x] JSON response helpers
4844

4945
#### Request/Response
46+
5047
- [x] Request parameter access (path params, query params)
5148
- [x] Request body string access
5249
- [x] Response status code setting
@@ -56,9 +53,10 @@ Helium is designed as a **micro-framework** with these core principles:
5653

5754
---
5855

59-
### 📋 Planned Features
56+
### Planned Features
6057

6158
#### 1. Enhanced Routing
59+
6260
- [ ] Route wildcards (e.g., `/files/*`)
6361
- [ ] Route matching with regular expressions
6462
- [ ] Route priority/ordering control
@@ -67,6 +65,7 @@ Helium is designed as a **micro-framework** with these core principles:
6765
- [ ] Automatic OPTIONS handling per route
6866

6967
#### 2. Request Handling
68+
7069
- [ ] Multipart form data parsing
7170
- [ ] File upload handling
7271
- [ ] Request body size limits (configurable)
@@ -76,6 +75,7 @@ Helium is designed as a **micro-framework** with these core principles:
7675
- [ ] Custom body parsers (pluggable)
7776

7877
#### 3. Response Enhancements
78+
7979
- [ ] Response streaming API for large payloads
8080
- [ ] Request body streaming for file uploads
8181
- [ ] Template rendering support (pluggable)
@@ -86,6 +86,7 @@ Helium is designed as a **micro-framework** with these core principles:
8686
- [ ] Chunked transfer encoding
8787

8888
#### 4. Middleware Ecosystem
89+
8990
- [ ] Configurable CORS middleware (custom origins, methods, headers)
9091
- [ ] Rate limiting middleware
9192
- [ ] Authentication middleware (JWT, Bearer, Basic Auth)
@@ -99,6 +100,7 @@ Helium is designed as a **micro-framework** with these core principles:
99100
- [ ] Circuit breaker pattern
100101

101102
#### 5. Performance & Scaling
103+
102104
- [ ] Connection pooling
103105
- [ ] Request/response pooling
104106
- [ ] Zero-copy optimizations
@@ -108,20 +110,23 @@ Helium is designed as a **micro-framework** with these core principles:
108110
- [ ] Metrics and monitoring hooks
109111

110112
#### 6. Error Handling
113+
111114
- [ ] Error recovery middleware
112115
- [ ] Detailed error responses (development mode)
113116
- [ ] Error logging integration points
114117
- [ ] Panic recovery
115118
- [ ] Structured error types
116119

117120
#### 7. Testing & Development
121+
118122
- [ ] Test client for integration testing
119123
- [ ] Mock request/response builders
120124
- [ ] Development mode with hot reload (external tool integration)
121125
- [ ] Request/response logging levels
122126
- [ ] Debug middleware
123127

124128
#### 8. Security
129+
125130
- [ ] HTTPS/TLS support
126131
- [ ] Certificate management helpers
127132
- [ ] Input sanitization helpers
@@ -131,6 +136,7 @@ Helium is designed as a **micro-framework** with these core principles:
131136
- [ ] Request size limits
132137

133138
#### 9. Documentation & Examples
139+
134140
- [x] Basic examples (simple server, error handling)
135141
- [x] Route grouping example
136142
- [ ] REST API example
@@ -144,6 +150,7 @@ Helium is designed as a **micro-framework** with these core principles:
144150
- [ ] Migration guide from other frameworks
145151

146152
#### 10. Ecosystem Integration
153+
147154
- [ ] Database connection pooling patterns
148155
- [ ] ORM integration examples
149156
- [ ] Message queue integration patterns
@@ -153,7 +160,7 @@ Helium is designed as a **micro-framework** with these core principles:
153160

154161
---
155162

156-
### 🎯 Future Considerations
163+
### Future Considerations
157164

158165
These features are being considered but not yet prioritized:
159166

@@ -168,13 +175,3 @@ These features are being considered but not yet prioritized:
168175
- Service mesh integration
169176
- Admin panel/dashboard
170177
- Plugin system architecture
171-
172-
---
173-
174-
### Contributing
175-
176-
Want to help implement a feature? Check our [CONTRIBUTING.md](CONTRIBUTING.md) guide!
177-
178-
### Feedback
179-
180-
Have suggestions for the roadmap? Open an issue or discussion on our [GitHub repository](https://github.com/CogitatorTech/helium).

examples/README.md

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1-
## Helium's Examples
1+
## Helium Examples
2+
3+
| # | File | Description |
4+
|---|--------------------------------------------|----------------------------------------------------|
5+
| 1 | [e1_simple_example.zig](e1_simple_example.zig) | A very simple web application made with Helium |
6+
| 2 | [e2_error_handling.zig](e2_error_handling.zig) | Shows custom error handling with different error types |
7+
| 3 | [e3_route_groups.zig](e3_route_groups.zig) | Shows route grouping and group-level middleware usage |
28

3-
| **#** | **File** | **Description** |
4-
|-------|------------------------------------------------|-------------------------------------------|
5-
| 1 | [e1_simple_example.zig](e1_simple_example.zig) | A simple web application made with Helium |
6-
| 2 | [e2_error_handling.zig](e2_error_handling.zig) | Demonstrates custom error handling with different error types |

0 commit comments

Comments
 (0)