Skip to content

Lumx a modular Rust framework focused on simplicity, with a plug-in system for easy integration with tools like axum and sea-orm.

License

Notifications You must be signed in to change notification settings

iDesoftSystems/lumx

Repository files navigation

What's Lumx?

Lumx is a lightweight, modular application framework designed to prioritize simplicity and flexibility. It features an easily extensible plug-in architecture, enabling seamless integration with other prominent Rust community projects, such as axum, sea-orm, and many others.

Warning

Project in Active Development

This project is currently in active development. It is not yet ready for production use.

We are working hard to make it stable and feature-complete, but until then, please be aware that you may encounter bugs, incomplete features, and frequent changes. Your patience and any contributions are greatly appreciated.

Getting Started

Add to your Cargo.toml dependencies:

[dependencies]
lumx_core = { git = "https://github.com/iDesoftSystems/lumx.git", branch = "main" }
lumx_axum = { git = "https://github.com/iDesoftSystems/lumx.git", branch = "main" }

You can now build your program and easily integrate plugins.

use lumx_axum::{
    axum::{Router, routing},
    plugin::WebPlugin,
    router::ProgramRoutable,
};
use lumx_core::{program::Program, tokio};

#[tokio::main]
async fn main() {
    Program::builder()
        .load_envs()
        .collect_tracing()
        .add_plugin(WebPlugin)
        .add_router(router())
        .run()
        .await
}

fn router() -> Router {
    Router::new().route("/", routing::get(|| async { "Hello, world" }))
}

Start your app.

cargo run

About

Lumx a modular Rust framework focused on simplicity, with a plug-in system for easy integration with tools like axum and sea-orm.

Topics

Resources

License

Stars

Watchers

Forks