Skip to content

emirlls/unseal

Repository files navigation

⏳ Unseal - Distributed Digital Time Capsule Ecosystem

Unseal is a sophisticated social media platform designed as a Digital Time Capsule. It redefines social interaction by blending it with "patience" and "anticipation." Users can lock their memories (photos, videos, voice recordings, or text) into capsules that remain sealed until a specific future date.

🚀 Engineering Excellence & Technical Stack Unseal is built with the principle that software should not just work—it must be scalable, secure, and flexible.

🏗️ Architectural Foundations Domain-Driven Design (DDD): Ensuring a sustainable and maintainable codebase by focusing on the core domain logic.

  • Repository Pattern: Decoupling the data access layer for better testability and flexibility.

  • Tenant & Generic Response Middleware: Standardized API management and multi-tenancy support.

  • Dynamic Logic: Leveraging Reflection for high-performance, dynamic filtering and sorting operations.

🔒 Security & Authorization

  • Identity Management: Comprehensive Authentication and Authorization flows powered by OpenIddict.

  • Data Protection: Sensitive content URLs are encrypted using the Data Protection API before storage.

  • Traffic Control: IP and Path-based Rate Limiting to prevent brute-force attacks and redundant traffic.

  • Access Control: Granular Permission Management and tailored CORS configurations.

⚡ Performance & Messaging

  • Real-time Interaction: SignalR for instant messaging and Server-Sent Events (SSE) for real-time monitoring of newly revealed capsules.

  • Asynchronous Tasks: RabbitMQ coupled with Worker Services for background task processing.

  • Caching Strategy: Redis and Memory Cache integration for tracking user and rapid data access.

  • Database Optimization: Bulk Insert/Update operations to minimize database overhead during heavy writes.

📊 Data & Storage

  • Advanced Search: Elastic Search integration for lightning-fast retrieval within large datasets.

  • Spatial Data: GeoJSON integration for location-based capsule operations.

  • Cloud & Mail: Cloudinary for media asset management and Gmail SMTP for reliable mail operations.

🛠️ Advanced Software Standards The project serves as a laboratory for complex engineering scenarios, implementing:

  • Fluent Validation for robust schema enforcement.

  • Global Action Filters for cross-cutting concerns.

  • Setting Management for flexible application configuration.

Some pictures of Unseal:

Swagger - Admin & Auth Swagger - Capsule & Group & Messages Swagger - SSE & User
Swagger 1 Swagger 2 Swagger 3
Mail - Register Mail - Account Activation Mail - Account Delete
Swagger 1 Swagger 2 Swagger 3
App - Login App - Register App - Reset Password
App 1 App 2 App 3
App - Capsule Detail App - Explore App - Profile
App 4 App 5 App 6
App - Capsule Create App - User Search App - Capsule QR
App 7 App 8 App 9

Releases

No releases published

Packages

 
 
 

Contributors