[package] name = "zero2prod" version = "0.1.0" edition = "2024" resolver = "2" [lib] path = "src/lib.rs" [[bin]] path = "src/main.rs" name = "zero2prod" [dependencies] anyhow = "1.0.99" argon2 = { version = "0.5.3", features = ["std"] } askama = "0.14.0" axum = { version = "0.8.4", features = ["macros"] } axum-server = { version = "0.7.2", features = ["tls-rustls-no-provider"] } base64 = "0.22.1" chrono = { version = "0.4.41", default-features = false, features = ["clock"] } config = "0.15.14" markdown = "1.0.0" rand = { version = "0.9.2", features = ["std_rng"] } reqwest = { version = "0.12.23", default-features = false, features = [ "rustls-tls", "json", "cookies", ] } secrecy = { version = "0.10.3", features = ["serde"] } serde = { version = "1.0.219", features = ["derive"] } serde-aux = "4.7.0" sqlx = { version = "0.8.6", features = [ "runtime-tokio-rustls", "macros", "postgres", "uuid", "chrono", "migrate", ] } thiserror = "2.0.16" tokio = { version = "1.47.1", features = ["macros", "rt-multi-thread"] } tower-http = { version = "0.6.6", features = ["fs", "trace"] } tower-sessions = "0.14.0" tower-sessions-redis-store = "0.16.0" tracing = "0.1.41" tracing-subscriber = { version = "0.3.19", features = ["env-filter"] } unicode-segmentation = "1.12.0" urlencoding = "2.1.3" uuid = { version = "1.18.0", features = ["v4", "serde"] } validator = { version = "0.20.0", features = ["derive"] } [dev-dependencies] claims = "0.8.0" fake = "4.4.0" linkify = "0.10.0" once_cell = "1.21.3" quickcheck = "1.0.3" quickcheck_macros = "1.1.0" serde_json = "1.0.143" serde_urlencoded = "0.7.1" wiremock = "0.6.4"