Integra Web Framework
Integra is a sleek, performant web framework for Rust, harnessing the power of the hyper library.
Will become the first highly pefrormant backend framework with MVC structure!
🌟 Features
- Fast: Built on top of
hyper, one of the Rust's fastest web libraries. - Explicit Routing: Define routes explicitly with a clear and intuitive router reminding you Laravel.
- Safety First: Benefit from Rust's strong safety guarantees.
- MVC: Integra is leading the way with MVC (Model-View-Controller) in Rust. Model support via Diesel ORM integration is under development.
- Minimalistic Design: No bloat, just the essentials.
🔥🔥🔥 Performance Benchmarks 🔥🔥🔥
The following benchmarks were conducted on an M1 Pro machine using a single CPU core. The test was performed using the wrk benchmarking tool on a basic project setup. This results were close when I used hello world with salvo.
Please note that performance can vary based on many factors, including the specific workload, the configuration of the server, and the client's network conditions.
🖥️ Test Environment
- OS: Mac OS Ventura 13.5.1
- CPU: M2 Pro
- Model: MacBook Pro M2 Pro (16" and 16GB)
🚀 Quickstart with Integra
- Clone this repository:
📘 Usage
To-do
🎯 ROADMAP
-
Modules
- Define application's structure using modules
- Module encapsulation
- Shared modules
-
Controllers
- Route parameters
- Request, Response objects handling
-
Supported requests
- GET
- POST
- PUT
- DELETE
- HEAD
- CONNECT
- OPTIONS
- TRACE
- PATCH
-
Middleware
- Middleware for request/response manipulation
- Execution order
-
Guards
- Route guards for authentication and authorization
-
Interceptors
- Transforming responses
- Handling request/response lifecycle
-
Macro Attributes
- Custom macro attributes for extracting custom data from requests
-
Models
- Integration with Diesel ORM
- Support for migrations
- CRUD operations
- Advanced querying and filtering
-
Repositories
- Generic Repository pattern
- User Repository
-
Providers and Services
- Custom providers
- Singleton services
-
Views
- Template engine integration
- Support for dynamic content rendering
- Layouts and partials
🤝 Contributing
To-do