2025-04-06 13:25:44 +07:00
|
|
|
[workspace]
|
|
|
|
|
resolver = "2"
|
2025-09-25 20:18:16 +07:00
|
|
|
members = [
|
2025-04-06 22:13:46 +07:00
|
|
|
"tests",
|
2025-09-25 20:18:16 +07:00
|
|
|
"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
|
2025-04-06 13:25:44 +07:00
|
|
|
]
|
2025-02-03 21:53:42 +07:00
|
|
|
|
2025-05-04 16:37:11 +07:00
|
|
|
|
2025-04-06 13:25:44 +07:00
|
|
|
[workspace.dependencies]
|
2025-08-16 19:10:27 +07:00
|
|
|
oauth2 = "5.0.0"
|
|
|
|
|
reqwest = { version = "0.12.23", features = ["json"] }
|
|
|
|
|
serde_json = "1.0.142"
|
2025-05-20 10:45:01 +07:00
|
|
|
axum = { version = "0.8.4", features = ["multipart"] }
|
2025-08-16 19:10:27 +07:00
|
|
|
log = "0.4.27"
|
|
|
|
|
serde = { version = "1.0.219", features = ["derive"] }
|
|
|
|
|
tokio = { version = "1.47.1", features = ["full"] }
|
2025-02-07 22:26:32 +07:00
|
|
|
argon2 = { version = "0.5.3", features = ["password-hash"] }
|
|
|
|
|
jsonwebtoken = "9.3.1"
|
2025-05-20 10:45:01 +07:00
|
|
|
chrono = "0.4.41"
|
2025-08-16 19:10:27 +07:00
|
|
|
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"] }
|
2025-07-21 21:29:04 +07:00
|
|
|
surrealdb = { version = "2.3.7", features = ["kv-mem", "kv-fdb"] }
|
2025-08-16 19:10:27 +07:00
|
|
|
thiserror = "2.0.14"
|
|
|
|
|
anyhow = "1.0.99"
|
|
|
|
|
rand = { version = "0.9.2", features = ["std", "alloc"] }
|
2025-05-20 10:45:01 +07:00
|
|
|
rand_distr = "0.5.1"
|
2025-08-16 19:10:27 +07:00
|
|
|
tower-http = { version = "0.6.6", features = ["cors", "trace"] }
|
|
|
|
|
http-body-util = "0.1.3"
|
2025-07-21 21:29:04 +07:00
|
|
|
validator = { version = "0.20.0", features = ["derive"] }
|
2025-08-16 19:10:27 +07:00
|
|
|
lazy_static = "1.5.0"
|
2025-03-21 05:36:00 +07:00
|
|
|
regex = "1.11.1"
|
2025-08-16 19:10:27 +07:00
|
|
|
axum-test = "17.3.0"
|
2025-08-14 22:46:42 +07:00
|
|
|
axum-extra = { version = "0.10.1", features = ["typed-header"] }
|
2025-08-16 19:10:27 +07:00
|
|
|
fancy-regex = "0.16.1"
|
2025-05-17 02:08:59 +07:00
|
|
|
futures = "0.3.31"
|
|
|
|
|
tower = "0.5.2"
|
2025-05-20 01:49:50 +07:00
|
|
|
env_logger = "0.11.8"
|
2025-08-16 19:10:27 +07:00
|
|
|
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"
|
2025-08-12 00:32:59 +07:00
|
|
|
base64 = "0.22.1"
|
2025-08-16 19:10:27 +07:00
|
|
|
sha2 = "0.10.9"
|
2025-08-14 16:53:14 +07:00
|
|
|
hmac = "0.12"
|
|
|
|
|
hex = "0.4"
|
|
|
|
|
urlencoding = "2.1"
|
2025-07-21 21:29:04 +07:00
|
|
|
hyper = "1.6.0"
|
2025-08-16 19:10:27 +07:00
|
|
|
hyper-util = "0.1.16"
|
|
|
|
|
minio = "0.3.0"
|
2025-08-11 23:06:45 +07:00
|
|
|
|
2025-08-16 12:48:24 +07:00
|
|
|
|
2025-08-16 19:10:27 +07:00
|
|
|
tokio-test = "0.4.4"
|
|
|
|
|
mockall = "0.13.1"
|
|
|
|
|
once_cell = "1.21.3"
|
2025-08-11 23:06:45 +07:00
|
|
|
dotenvy = "0.15.7"
|
2025-08-16 19:10:27 +07:00
|
|
|
tracing-subscriber = { version = "0.3.19", features = ["env-filter"] }
|
|
|
|
|
tokio-tungstenite = "0.27"
|
2025-07-21 21:29:04 +07:00
|
|
|
url = "2.5"
|
|
|
|
|
futures-util = "0.3"
|
2025-08-16 19:10:27 +07:00
|
|
|
http = "1.3"
|
2025-07-21 21:29:04 +07:00
|
|
|
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" }
|
|
|
|
|
|
2025-02-07 22:26:32 +07:00
|
|
|
[profile.release]
|
|
|
|
|
lto = "fat"
|
|
|
|
|
codegen-units = 1
|
|
|
|
|
panic = "abort"
|
|
|
|
|
opt-level = "z"
|