Kalgan v0.9.0 released!

Welcome to the first public version of Kalgan, a web framework for Rust programing language developed by Eduardo Casas.

Kalgan helps to develop fast while keeping things simple and secure. It provides a robust set of features so you can focus on writing your app only.

It takes the best of the best web frameworks out there. It doesn't matter if you're new to Rust's ecosystem, if you're familiar with other frameworks you'll manage with Kalgan easily. Same as for most Rust web frameworks, we must be aware that Kalgan is not only a web framework but also an HTTP web server.

Highlights

Find below some of the highlights:

  • Fast to develop: Get rid of boilerplate code and don't reinvent the wheel. Changes in your config, routes, messages or templates are taken on the fly.
  • For web developers: It makes things simpler and takes the best of other web frameworks. Even if you're new to Rust you'll find it easy to use.
  • As fast and secure as Rust is: Kalgan is robust and fast. High performance and strong security are guaranteed.
  • Decoupled routing system: Routes are not hardcoded in the source code but encapsulated in a different component. This provides flexibility a cleaner structure.
  • Tera as template engine: It is integrated with Tera. Probably the best template engine for Rust out here.
  • i18n: Kalgan comes with a friendly translation system out of the box which integrates with Tera.
  • Cookies & Sessions: It provides full support to manage cookie and session objects easily.
  • And many more services: SQLx integation, cache ystem, SMTP mailer, security tools, error handling...

Features

Kalgan it's intended to fill an empty space in the incipient Rust web ecosystem. It's not meant to be a silver bullet but another option in the growing number of web frameworks for Rust available out there. Kalgan just tries to take a different approach, less rusty probably (which might be especially welcomed by newcomers)

Because most of its components are optional, Kalgan can be considered as a microframework out of the box. Find below the list of the available feature flags. Be aware that Kalgan doesn't enable any of them by default:

Feature Description
kalgan_i18n Enables translation system powered by create i18n (see i18n / Translation in the docs).
mailer Enables the emailing system powered by crate lettre (see Mailer / SMTP in the docs).
services Enables the services kalgan::service::password and kalgan::service::token.
kalgan_cache Enables the cache system that runs on Redis (see Cache / Redis in the docs).
session Enables the session management that runs on cache system (see Cookies / Sessions in the docs).
sqlx Enables the database connection powered by crate sqlx (see Database / SQLx in the docs).
tera Enables the templating system powered by crate Tera (see Templates / Tera in the docs).
test Enables the traits and functions to mock objects while testing (see Tests in the docs).
full Enables all the features but test.

Starting with Kalgan

Getting started with Kalgan is pretty straightforward. Just follow the steps described in chapter Getting Started.

Go to the index in the docs for a deeper learning of the every component. And, of course, you can find Kalgan too in crates.io and Docs.rs.

This project is completely open for collaborations. If you find an issue or have any suggestions, please don't hesitate to report it in the GitHub site of the project.

Last but not least, it's a must to say that Kalgan embraces Rust's Code of conduct.

Kalgan Logo