[package] name = "shoplist-backend" version = "0.1.0" edition = "2021" [dependencies] axum = { version = "0.8", features = ["macros"] } tokio = { version = "1", features = ["full"] } tower = "0.5" tower-http = { version = "0.6", features = ["cors", "trace"] } tower-sessions = "0.14" tower-sessions-sqlx-store = { version = "0.15", features = ["postgres"] } sqlx = { version = "0.8", default-features = false, features = [ "runtime-tokio", "tls-rustls", "postgres", "uuid", "time", "macros", "rust_decimal", ] } serde = { version = "1", features = ["derive"] } serde_json = "1" argon2 = "0.5" rand = "0.8" sha2 = "0.10" hex = "0.4" lettre = { version = "0.11", default-features = false, features = [ "tokio1-rustls-tls", "smtp-transport", "builder", "hostname", ] } validator = { version = "0.19", features = ["derive"] } thiserror = "2" anyhow = "1" tracing = "0.1" tracing-subscriber = { version = "0.3", features = ["env-filter"] } time = { version = "0.3", features = ["serde", "serde-well-known"] } uuid = { version = "1", features = ["v4", "serde"] } rust_decimal = { version = "1", features = ["serde-float"] } dotenvy = "0.15" reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls", "gzip"] } url = "2" scraper = "0.20" [dev-dependencies] # Cookie jar for end-to-end session tests (unions with the runtime feature set). reqwest = { version = "0.12", default-features = false, features = [ "json", "rustls-tls", "gzip", "cookies", ] }