Implement self-hosted document scanner and media processing tools as an alternative to CamScanner/ilovepdf without third-party uploads. Backend: Rust Axum gateway + worker pool with NATS JetStream queue Frontend: Next.js 16 + shadcn/ui + Tailwind v4 + Framer Motion Pipeline: Canny edge detection -> DLT homography warp -> Sauvola binarization -> Hough deskew -> Tesseract OCR -> searchable PDF Phase 1 (MVP) delivers: - Document scanner with perspective correction and OCR - Image compress/resize/convert tools - PDF merge/split/compress tools - Real-time WebSocket progress updates - Rate limiting, auto-cleanup, Prometheus metrics - Full CI/CD pipeline with Docker multi-stage build Co-Authored-By: Kilo <kilo@kilo.ai>
32 lines
681 B
TOML
32 lines
681 B
TOML
[package]
|
|
name = "tools-workers"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
|
|
[dependencies]
|
|
tools-common = { path = "../common" }
|
|
|
|
tokio.workspace = true
|
|
serde.workspace = true
|
|
serde_json.workspace = true
|
|
uuid.workspace = true
|
|
chrono.workspace = true
|
|
tracing.workspace = true
|
|
tracing-subscriber.workspace = true
|
|
async-nats.workspace = true
|
|
redis.workspace = true
|
|
thiserror.workspace = true
|
|
anyhow.workspace = true
|
|
image.workspace = true
|
|
imageproc.workspace = true
|
|
nalgebra = "0.32"
|
|
lopdf.workspace = true
|
|
rayon = "1"
|
|
futures = "0.3"
|
|
async-trait = "0.1"
|
|
leptess = { version = "0.14", optional = true }
|
|
|
|
[features]
|
|
default = []
|
|
tesseract = ["leptess"] |