[package] name = "notes-api" version = "0.1.0" edition = "2024" default-run = "notes-api" [features] default = ["sqlite", "smart-features"] sqlite = [ "notes-infra/sqlite", "tower-sessions-sqlx-store/sqlite", ] postgres = [ "notes-infra/postgres", "tower-sessions-sqlx-store/postgres", ] smart-features = ["notes-infra/smart-features", "notes-infra/broker-nats"] [dependencies] notes-domain = { path = "../notes-domain" } notes-infra = { path = "../notes-infra", default-features = false, features = [ "sqlite", ] } # Web framework axum = { version = "0.8.8", features = ["macros"] } tower = "0.5.2" tower-http = { version = "0.6.2", features = ["cors", "trace"] } # Authentication axum-login = "0.18" tower-sessions = "0.14" tower-sessions-sqlx-store = { version = "0.15", features = ["sqlite"] } password-auth = "1.0" time = "0.3" async-trait = "0.1.89" # Async runtime tokio = { version = "1.48.0", features = ["full"] } # Serialization serde = { version = "1.0.228", features = ["derive"] } serde_json = "1.0" # Validation validator = { version = "0.20", features = ["derive"] } # Error handling thiserror = "2.0.17" anyhow = "1.0" # Utilities chrono = { version = "0.4.42", features = ["serde"] } uuid = { version = "1.19.0", features = ["v4", "serde"] } # Logging tracing = "0.1" tracing-subscriber = { version = "0.3.22", features = ["env-filter"] } dotenvy = "0.15.7" k-core = { git = "https://git.gabrielkaszewski.dev/GKaszewski/k-core", features = [ "logging", "db-sqlx", "sqlite", "http", "auth","sessions-db" ] }