feat(infra): add tools service with document scanner, image & PDF tools
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>
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
[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"]
|
||||
Reference in New Issue
Block a user