Skip to main content

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)
Frontend
  • 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