* New functionality to set meta data on businesscards. * Can develop a user profile. * Business cards link to user profile.
138 lines
3 KiB
TOML
138 lines
3 KiB
TOML
[workspace]
|
|
resolver = "2"
|
|
members = [
|
|
"crates/chattyness-db",
|
|
"crates/chattyness-error",
|
|
"crates/chattyness-shared",
|
|
"crates/chattyness-admin-ui",
|
|
"crates/chattyness-user-ui",
|
|
"apps/chattyness-owner",
|
|
"apps/chattyness-app",
|
|
]
|
|
exclude = ["chattyness-webserver"]
|
|
|
|
[workspace.package]
|
|
version = "0.1.0"
|
|
edition = "2024"
|
|
license = "MIT"
|
|
repository = "https://github.com/your-org/chattyness"
|
|
|
|
[workspace.dependencies]
|
|
# Internal crates
|
|
chattyness-db = { path = "crates/chattyness-db" }
|
|
chattyness-error = { path = "crates/chattyness-error" }
|
|
chattyness-shared = { path = "crates/chattyness-shared" }
|
|
chattyness-admin-ui = { path = "crates/chattyness-admin-ui" }
|
|
chattyness-user-ui = { path = "crates/chattyness-user-ui" }
|
|
|
|
# Leptos framework
|
|
leptos = "0.8"
|
|
leptos_meta = "0.8"
|
|
leptos_router = "0.8"
|
|
leptos_axum = "0.8"
|
|
|
|
# Axum web server
|
|
axum = { version = "0.8", features = ["macros", "ws"] }
|
|
axum-extra = { version = "0.10", features = ["multipart"] }
|
|
tower = "0.5"
|
|
tower-http = { version = "0.6", features = ["fs", "compression-gzip"] }
|
|
|
|
# Session management
|
|
tower-sessions = "0.14"
|
|
tower-sessions-sqlx-store = { version = "0.15", features = ["postgres"] }
|
|
|
|
# Database
|
|
sqlx = { version = "0.8", features = [
|
|
"runtime-tokio",
|
|
"tls-rustls",
|
|
"postgres",
|
|
"uuid",
|
|
"chrono",
|
|
"json"
|
|
] }
|
|
|
|
# Serialization
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
|
|
# Error handling
|
|
thiserror = "2"
|
|
|
|
# Enum utilities
|
|
strum = { version = "0.26", features = ["derive"] }
|
|
|
|
# CLI
|
|
clap = { version = "4", features = ["derive", "env"] }
|
|
|
|
# Async runtime
|
|
tokio = { version = "1", features = ["full"] }
|
|
futures = "0.3"
|
|
|
|
# Concurrent data structures
|
|
dashmap = "6"
|
|
|
|
# Configuration
|
|
toml = "0.8"
|
|
|
|
# Utilities
|
|
uuid = { version = "1", features = ["v4", "serde", "js"] }
|
|
chrono = { version = "0.4", features = ["serde"] }
|
|
dotenvy = "0.15"
|
|
tracing = "0.1"
|
|
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
|
|
http = "1"
|
|
regex = "1"
|
|
|
|
# Password hashing
|
|
argon2 = "0.5"
|
|
|
|
# Image processing
|
|
image = { version = "0.25", default-features = false, features = ["jpeg", "png", "gif", "webp"] }
|
|
reqwest = { version = "0.12", default-features = false, features = ["rustls-tls", "json"] }
|
|
|
|
# Random token generation
|
|
rand = "0.8"
|
|
sha2 = "0.10"
|
|
hex = "0.4"
|
|
|
|
# WASM dependencies
|
|
console_error_panic_hook = "0.1"
|
|
wasm-bindgen = "0.2"
|
|
gloo-net = "0.6"
|
|
gloo-timers = "0.3"
|
|
urlencoding = "2"
|
|
web-sys = { version = "0.3", features = [
|
|
"Blob",
|
|
"CanvasRenderingContext2d",
|
|
"CloseEvent",
|
|
"Document",
|
|
"DomRect",
|
|
"Element",
|
|
"ErrorEvent",
|
|
"EventTarget",
|
|
"File",
|
|
"FileList",
|
|
"FormData",
|
|
"HtmlCanvasElement",
|
|
"HtmlCollection",
|
|
"HtmlElement",
|
|
"HtmlFormElement",
|
|
"HtmlImageElement",
|
|
"HtmlInputElement",
|
|
"ImageData",
|
|
"KeyboardEvent",
|
|
"Location",
|
|
"MessageEvent",
|
|
"MouseEvent",
|
|
"Node",
|
|
"Storage",
|
|
"TextMetrics",
|
|
"WebSocket",
|
|
"Window",
|
|
] }
|
|
js-sys = "0.3"
|
|
|
|
[profile.release]
|
|
lto = true
|
|
opt-level = 'z'
|
|
codegen-units = 1
|