[[bin]] name = "Axium" path = "src/main.rs" [package] name = "Axium" version = "0.1.0" edition = "2021" [dependencies] # Web framework and server axum = { version = "0.8.1", features = ["json"] } # hyper = { version = "1.5.2", features = ["full"] } axum-server = { version = "0.7", features = ["tls-rustls"] } # Database interaction sqlx = { version = "0.8.3", features = ["runtime-tokio-rustls", "postgres", "migrate", "uuid", "chrono"] } uuid = { version = "1.12.1", features = ["serde"] } rand = "0.8.5" rand_core = "0.6.4" # 2024-2-3: SQLx 0.8.3 does not support 0.9. moka = { version = "0.12.10", features = ["future"] } lazy_static = "1.5" # Serialization and deserialization serde = { version = "1.0.217", features = ["derive"] } serde_json = "1.0.137" # Authentication and security jsonwebtoken = "9.3.0" argon2 = "0.5.3" totp-rs = { version = "5.6.0", features = ["gen_secret"] } base64 = "0.22.1" bcrypt = "0.17.0" futures = "0.3.31" # Asynchronous runtime and traits tokio = { version = "1.43.0", features = ["rt-multi-thread", "process", "signal"] } # Configuration and environment dotenvy = "0.15.7" # Middleware and server utilities tower = { version = "0.5.2", features = ["limit"] } tower-http = { version = "0.6.2", features = ["trace", "cors", "compression-br"] } # Logging and monitoring tracing = "0.1.41" tracing-subscriber = "0.3.19" # System information sysinfo = "0.33.1" # Date and time handling chrono = { version = "0.4.39", features = ["serde"] } # SSL / TLS rustls = "0.23.21" tokio-rustls = "0.26.1" rustls-pemfile = "2.2.0" # Input validation validator = { version = "0.20.0", features = ["derive"] } regex = "1.11.1" thiserror = "1.0" # Documentation utoipa = { version = "5.3.1", features = ["axum_extras", "chrono", "uuid"] } utoipa-swagger-ui = { version = "9.0.0", features = ["axum"] }