Rust Rest API Stack with User Management

A secure-by-default rest api stack implemented with hyper, tokio and postgres.

This project is focused on providing end-to-end encryption by default for 12-factor applications looking to customize functionality using environment variables as needed.

Comes with a working user management and authentication backend written in postgresql.

For ease of use, you can browse the database using pg4admin for database management (deployed with docker compose).

Overview

TLS Encryption Status

Compoment | Status ---------------- | ------ Rest API Server | Listening for encrypted client connections on tcp port 3000 JWT | Encrypting and decrypting tokens with ECDSA using SHA-256 Postgres | Listening for encrypted client connections on tcp port 5432 (tls Certificate Authority required) pgAdmin | Listening for encrypted HTTP client connections on tcp port 5433 AWS S3 | Encrypted at rest with AES256

Build API Server

bash cargo build --example server

Run API Server

bash cargo run --example server

Integration Tests

This project focused on integration tests for v1 instead of only rust tests (specifically curl tests):

Please refer to the Integration Tests Guide