Zingat
A web app to securely share texts on the internet with password protection and expiry date.
Tech Stack :

Project Links
Text sharing platforms are fundamental to modern software development workflows, enabling secure code sharing, documentation collaboration, and temporary data exchange. Zingat addresses the critical need for secure, ephemeral text storage in enterprise environments where data sensitivity and compliance are paramount.
The system enables users to create password-protected text snippets with configurable expiration dates, accessible through both web interface and command-line client.
The platform handles text storage, retrieval, and analytics while maintaining enterprise-grade security and performance standards.
Engineering:
Web Framework & Database: Implemented using Rocket (Rust's web framework) and SQLX (async SQL toolkit), demonstrating modern async/await patterns and compile-time SQL verification. The system uses SQLite for data persistence with migration-based schema management, showcasing production database practices.
Concurrency & Performance: Leveraged Tokio runtime for async operations and implemented custom background processing for analytics, demonstrating advanced concurrency patterns essential for scalable web services.
System Architecture & Design: Clean separation between domain logic, data access, and web presentation layers using Domain-Driven Design principles. The modular structure includes dedicated modules for business logic, data persistence, and API endpoints, demonstrating enterprise-grade software organization.
Performance Optimization & Concurrency: A hit counter system using background threads and batched database operations. Instead of logging each view directly to the database, I defer operations to separate threads that batch multiple hits into single commits, significantly reducing database contention and improving response times.
API Design & Security: Comprehensive REST API with proper HTTP status codes, error handling, and API key authentication. The system includes both programmatic access via API keys and web-based access with cookie-based password authentication, demonstrating security-conscious API design.
Database Management & Migrations: Database schema management using SQLX migrations, ensuring version-controlled database evolution. The system handles complex data relationships and implements proper indexing for performance optimization.
Build Automation & DevOps: Complete build system with Cargo, including separate binaries for web server and CLI client. The project includes proper dependency management, environment configuration, and deployment-ready packaging.
Testing & Quality Assurance: Comprehensive error handling using Rust's Result types and custom error enums, ensuring robust error propagation throughout the application stack. The type-safe design prevents runtime errors and provides clear debugging information.

