Isabelle is a Rust-based framework for building safe and performant servers for the variety of use cases.
- Unified item storage with addition, editing and deletion support.
- Collection hooks allowing plugins to do additional checks or synchronization.
- Security checks.
- E-Mail sending support.
- Google Calendar integration.
- Login/logout functionality.
- One-time password support.
- GET /is_logged_in: check the login status.
Result:
{
"username": "<username>",
"id": <user id>,
"role": [ "role_is_admin" ],
"site_name": "Test",
"site_logo": "Test Logo"
"licensed_to": "Test Company"
}- POST /login (username, password inside the post request):
{
"succeeded": true/false,
"error": "detailed error",
}-
POST /logout:
-
GET /itm/list (collection, [id], [id_min], [id_max], [skip], [limit], [sort_key], [filter]): read the item from the collection
{
"map": [ <id>: {} ],
"total_count": <value>
}- POST /itm/edit ("item" inside the post request and inside the query string, "collection" and "merge" = false/true in query): edit the item in collection.
{
"succeeded": true/false,
"error": "detailed error",
}- POST /itm/del (collection, id): delete the item from the collection
{
"succeeded": true/false,
"error": "detailed error",
}- Python 3 is needed for Google Calendar integration
Building Isabelle is as easy as Cargo invocation:
cargo buildUse run.sh script:
./run.shMIT