[package] name = "nexus" version = "0.1.0" edition = "2024" [dependencies] # Web Framework axum = { version = "0.8", features = ["macros"] } tokio = { version = "1", features = ["full"] } tokio-util = { version = "0.7", features = ["io", "compat"] } tower = "0.5" tower-http = { version = "0.6", features = ["cors", "trace", "fs"] } futures-util = "0.3" # GraphQL async-graphql = { version = "7", features = ["chrono", "uuid", "decimal"] } async-graphql-axum = "7" # Database sqlx = { version = "0.8", features = ["runtime-tokio", "postgres", "uuid", "chrono", "json", "rust_decimal"] } # Background Jobs apalis = "1.0.0-rc.1" apalis-redis = "1.0.0-rc.1" apalis-cron = "1.0.0-rc.1" cron = "0.15" # Serialization serde = { version = "1", features = ["derive"] } serde_json = "1" # Types uuid = { version = "1", features = ["v4", "serde"] } chrono = { version = "0.4", features = ["serde"] } chrono-tz = "0.10" rust_decimal = { version = "1", features = ["serde", "db-postgres"] } # Tracing tracing = "0.1" tracing-subscriber = { version = "0.3", features = ["env-filter"] } # Config dotenvy = "0.15" # Error handling thiserror = "2" anyhow = "1" # HTTP client for Google APIs reqwest = { version = "0.12", features = ["json"] } # S3/Garage storage rust-s3 = { version = "0.35", default-features = false, features = ["tokio-rustls-tls"] } # Image processing image = "0.25" # Temp files for video processing tempfile = "3" # Bytes for S3 uploads bytes = "1" # JWT for service account auth jsonwebtoken = "9" # Base64 for credentials base64 = "0.22" # URL encoding urlencoding = "2"