- Rust 100%
| crates | ||
| images | ||
| src | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| LICENSE | ||
| README.md | ||
Olybase
A modular, high-performance Axum web framework wrapper with optional features for JWT, TLS, WebSockets, Storage, and more!
·
Report Bug
·
Request Feature
Table of Contents
About The Project
Olybase is a modular, extensible meta-framework and wrapper built on top of Axum and Tokio. It aims to eliminate boilerplate when setting up production-ready Rust web services by providing cleanly decoupled, opt-in crates for security, web routing, real-time websockets, and storage layers.
Whether you need a lightweight microservice or a full-featured backend complete with TLS auto-generation, JWT authentication, refresh tokens, rate-limiting, and compression, Olybase lets you opt into only what you use via Cargo features.
Built With & Workspace Crates
This section should list any major frameworks/libraries used to bootstrap your project. Leave any add-ons/plugins for the acknowledgements section. Here are a few examples.
Olybase is structured as a Cargo workspace with dedicated modular crates:
olybase-core- SoonTMolybase-security- SoonTMolybase-web- SoonTMolybase-ws- SoonTMolybase-storage- SoonTM
Features & Cargo Flags
Control your binary size and dependencies by enabling only the features you need in your Cargo.toml:
| Feature Flag | Enables Sub-crates / Functionality |
|---|---|
web |
Enables olybase-web routing and server capabilities |
tls |
Enables web layer TLS support (olybase-web/tls) |
tls-autogen |
Enables automatic TLS certificate generation |
compression |
Enables response compression middleware |
rate-limit |
Enables request rate-limiting utilities |
tracing |
Enables structured logging and tracing support |
security |
Enables olybase-security framework |
jwt-autogen |
Enables automatic JWT secret / token generation tools |
refresh-token |
Enables secure refresh token workflows |
password-hasher |
Enables secure password hashing utilities |
ws |
Enables olybase-ws for WebSockets |
storage |
Enables olybase-storage for data persistence |
Getting Started
To get a local copy up and running, follow these steps.
Prerequisites
This is an example of how to list things you need to use the software and how to install them.
Installation
Below is an example of how you can instruct your audience on installing and setting up your app. This template doesn't rely on any external dependencies or services.
- Clone the repo
git clone https://github.com/olytech-official/olybase.git - Navigate into the directory
cd olybase - Add Olybase to your project dependency list (with your chosen features) in your app's Cargo.toml:
[dependencies]
olybase = { version = "0.1.0", features = ["web", "security", "jwt-autogen", "tls"] }
Usage
Here is a quick example of how you can set up a basic server using Olybase:
/// todo
Roadmap
- Establish modular workspace architecture (core, security, web, ws, storage)
- Implement optional security features (JWT, Password Hashing, Refresh Tokens)
- Implement web middleware features (Tracing, Rate-limiting, Compression)
- Add a Database storage option (postgres and sqlite via sqlx)
- Add comprehensive integration test suite across all workspace crates
- Publish official crates to crates.io
See the open issues for a full list of proposed features (and known issues).
Contributing
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
License
Distributed under the Apache License. See LICENSE.txt for more information.
Contact
Project Link: https://github.com/olytech-official/olybase