[workspace] resolver = "2" members = [ "tests", "imphnen-entities", # Most basic - core data structures "imphnen-libs", # Depends on entities "imphnen-utils", # Depends on libs and entities "imphnen-middleware",# Utility for permissions "imphnen-iam", # Core auth service, depends on libs, utils, entities "imphnen-cms", # Content management, depends on core services "imphnen-gacha", # Game mechanics, depends on core services "imphnen-dimentorin",# Learning platform, depends on core services "imphnen-gateway", # API gateway, depends on all services "imphnen-backend", # Main application, depends on all services ] [workspace.dependencies] oauth2 = "5.0.0" reqwest = { version = "0.12.23", features = ["json"] } serde_json = "1.0.142" axum = { version = "0.8.4", features = ["multipart"] } log = "0.4.27" serde = { version = "1.0.219", features = ["derive"] } tokio = { version = "1.47.1", features = ["full"] } argon2 = { version = "0.5.3", features = ["password-hash"] } jsonwebtoken = "9.3.1" chrono = "0.4.41" utoipa = { version = "5.4.0", features = ["axum_extras"] } utoipa-swagger-ui = { version = "9.0.2", features = ["axum"] } lettre = { version = "0.11.18", features = ["tokio1-native-tls"] } surrealdb = { version = "2.3.7", features = ["kv-mem", "kv-fdb"] } thiserror = "2.0.14" anyhow = "1.0.99" rand = { version = "0.9.2", features = ["std", "alloc"] } rand_distr = "0.5.1" tower-http = { version = "0.6.6", features = ["cors", "trace"] } http-body-util = "0.1.3" validator = { version = "0.20.0", features = ["derive"] } lazy_static = "1.5.0" regex = "1.11.1" axum-test = "17.3.0" axum-extra = { version = "0.10.1", features = ["typed-header"] } fancy-regex = "0.16.1" futures = "0.3.31" tower = "0.5.2" env_logger = "0.11.8" tracing = "0.1.41" uuid = { version = "1.18.0", features = ["v4", "fast-rng", "serde"] } strum = { version = "0.27.2", features = ["derive"] } strum_macros = "0.27.2" base64 = "0.22.1" sha2 = "0.10.9" hmac = "0.12" hex = "0.4" urlencoding = "2.1" hyper = "1.6.0" hyper-util = "0.1.16" minio = "0.3.0" tokio-test = "0.4.4" mockall = "0.13.1" once_cell = "1.21.3" dotenvy = "0.15.7" tracing-subscriber = { version = "0.3.19", features = ["env-filter"] } tokio-tungstenite = "0.27" url = "2.5" futures-util = "0.3" http = "1.3" tests = { path = "./tests" } imphnen-iam = { path = "./imphnen-iam" } imphnen-cms = { path = "./imphnen-cms" } imphnen-libs = { path = "./imphnen-libs" } imphnen-utils = { path = "./imphnen-utils" } imphnen-gacha = { path = "./imphnen-gacha" } imphnen-gateway = { path = "./imphnen-gateway" } imphnen-backend = { path = "./imphnen-backend" } imphnen-entities = { path = "./imphnen-entities" } imphnen-dimentorin = { path = "./imphnen-dimentorin" } imphnen-middleware = { path = "./imphnen-middleware" } [profile.release] lto = "fat" codegen-units = 1 panic = "abort" opt-level = "z"