Key Features
- Secure Text Sharing: Password-protected clip creation with optional expiry
- Password Protection: Optional password-based access control
- Automatic Expiry: Set custom expiration dates (YYYY-MM-DD format)
- High Performance: Rust-powered backend with async processing
- Batch Operations: Optimized database writes for high traffic via asynchronous hit counting
- Multiple Interfaces: Web UI and CLI client support
- API Access: RESTful API with API key authentication
Tech Stack
Backend- Rust (Edition 2021)
- Rocket web framework (0.5.0-rc.1)
- SQLx for database operations (0.8.2)
- Tokio for async runtime (1.8.0)
- Handlebars templates (4.x)
- Custom CSS styling
- Responsive design
Performance Highlights
- Batch Database Operations: Instead of logging each view directly, operations are deferred to separate threads, batching multiple hits into single database commits
- Async Processing: Non-blocking I/O operations for maximum throughput
- Memory Safe: Rust’s ownership model prevents common security vulnerabilities
- Minimal Dependencies: Lean dependency tree for faster builds and smaller footprint
Architecture
Zingat features a clean, layered architecture:- Web Server: Rocket framework for HTTP endpoints
- Database Layer: SQLx with connection pooling (SQLite default)
- Domain Layer: Core business logic with newtype wrappers for type safety
- Service Layer: Business actions and DTOs
- Web Layer: API routes, web UI, and template rendering
- Async Workers: Background threads for batch operations (hit counting)
- CLI Interface: Standalone client (
clipclient) for terminal usage