integra-0.0.6 has been yanked.
Integra Web Framework
Integra is a sleek, performant web framework for Rust, harnessing the power of the hyper library.
🌟 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.
- Minimalistic Design: No bloat, just the essentials.
🚀 Quickstart with Integra
1. Create a New Project
Start by creating a new Rust project.
2. Add Dependencies
Open Cargo.toml and add the following lines under [dependencies]:
[]
= { = "0.0.5" }
= { = "1", = ["full"] }
= "0.14"
3. Setup Your Server
Setup your server in src/main.rs
use ;
use SocketAddr;
use Infallible;
use crateget_all_routes;
use ;
use Arc;
use make_service_fn;
async
- Include app_routes.rs in
src/routes/mod.rs
- Collect all routes in
src/web.rs
use crateapp_routes;
use Router;
use routes;
use route_collector;
5. Define Your App
Define your app for app_routes in src/app.rs
use ;
pub async
pub async
📘 Usage
To-do
🎯 ROADMAP
-
Routing system
- 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
- Modules
-
Framework Architecture
- 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
- Models
🤝 Contributing
To-do