mercy-video

byHamza Qandeel

Video chat app

LandingCall
Landing

Comments (0)

No comments yet. Be the first!

System Requirements

System Requirement Document
Page 1 of 5

System Requirements Document (SRD)

Project Name: mercy-video

1. Introduction

The mercy-video project is a comprehensive video chat application designed to provide seamless real-time communication for users in the United Arab Emirates (AE) and beyond. This platform will cater to a wide range of use cases, including personal, educational, and professional communication. With features such as group calls, screen sharing, and recording, mercy-video aims to deliver a robust and user-friendly experience.

This document outlines the system requirements for mercy-video, ensuring alignment with Hamza Qandeel's vision and the project's goals.

2. System Overview

mercy-video is a multi-platform video chat application that supports web and mobile interfaces. The system will leverage modern technologies to provide high-quality video and audio communication, with additional features like screen sharing, call recording, and group chat functionality.

The application will prioritize:

  • Ease of Use: Intuitive interfaces for all user personas.
  • Scalability: Support for large group calls and high user concurrency.
  • Security: End-to-end encryption for all communications.
  • Localization: Tailored for the UAE market, including timezone (Gulf Standard Time) and language preferences (English and Arabic).
Page 2 of 5

3. Functional Requirements

  • As a User, I should be able to initiate one-on-one video calls.
  • As a User, I should be able to host and join group video calls.
  • As a User, I should be able to share my screen during a call.
  • As a User, I should be able to record video calls and save them locally or in the cloud.
  • As a User, I should be able to send text messages during a video call.
  • As a User, I should be able to mute/unmute my microphone and turn my camera on/off during a call.
  • As an Admin, I should be able to manage user accounts and permissions.
  • As an Admin, I should be able to monitor system performance and usage statistics.
  • As a Guest, I should be able to join a video call via a shared link without creating an account.
  • As a User, I should be able to schedule calls and send invitations.
  • As a User, I should be able to customize my profile, including uploading a profile picture.

4. User Personas

4.1 Admin

  • Description: Responsible for managing the platform, user accounts, and system performance.
  • Key Actions: User management, monitoring analytics, and resolving technical issues.

4.2 Registered User

  • Description: A regular user with access to all features, including video calls, screen sharing, and recording.
  • Key Actions: Initiating and managing calls, customizing profiles, and scheduling meetings.

4.3 Guest

  • Description: A temporary user who can join calls via invitation links without creating an account.
  • Key Actions: Joining calls and participating in discussions.

5. Visuals Colors and Theme

Page 3 of 5

Color Palette

  • Background: #F4F9FF (Soft Sky Blue)
  • Surface: #FFFFFF (Pure White)
  • Text: #2C3E50 (Deep Slate Gray)
  • Accent: #0078D7 (Azure Blue)
  • Muted: #B0BEC5 (Light Steel Gray)

This palette reflects a clean, professional, and modern aesthetic, suitable for both personal and professional use.

6. Signature Design Concept

The mercy-video homepage will feature an interactive 3D globe that represents global connectivity.

  • Design Details:

    • The globe will rotate slowly, with glowing dots representing active users or call locations.
    • Hovering over a dot will display a tooltip with user statistics or call details.
    • The globe will be surrounded by floating UI elements (e.g., "Start a Call," "Join a Meeting") that respond to mouse movements with subtle animations.
  • Animations:

    • Smooth transitions between sections as users scroll down.
    • Micro-interactions, such as buttons lighting up when hovered over.
  • User Experience:

    • The design will evoke a sense of global connection and technological sophistication.
    • The interactive globe will serve as both a visual centerpiece and a functional navigation tool.

7. Non-Functional Requirements

  • Performance: The system must support up to 1,000 concurrent users per group call with minimal latency.
  • Security: End-to-end encryption for all communications.
  • Availability: 99.9% uptime guarantee.
  • Scalability: The system must scale to accommodate up to 1 million active users.
  • Localization: Support for English and Arabic languages.
  • Compliance: Adherence to UAE data protection laws.

8. Tech Stack

Page 4 of 5

Frontend

  • React for Web
  • React Native for Mobile

Backend

  • Python
  • FastAPI

Database

  • MySQL (with Alembic for migrations)

AI Models

  • GPT 5.4 for user-friendly responses
  • Claude 4.6 Opas for academic or coding work

AI Tools

  • Langchain
  • Litellm for LLM Routing

Orchestration

  • Docker and docker-compose for local development
  • Kubernetes for server-side orchestration

9. Assumptions and Constraints

  • The application will primarily target users in the UAE but will be accessible globally.
  • The system will rely on cloud infrastructure for scalability and storage.
  • Internet connectivity is assumed to be stable for all users.
  • Compliance with UAE-specific regulations is mandatory.
Page 5 of 5

10. Glossary

  • End-to-End Encryption: A method of secure communication that prevents third parties from accessing data while it’s transferred.
  • LLM: Large Language Model, used for AI-driven responses.
  • FastAPI: A modern web framework for building APIs with Python.
  • Alembic: A database migration tool for SQLAlchemy.
  • Docker: A platform for developing, shipping, and running applications in containers.
  • Kubernetes: An open-source system for automating deployment, scaling, and management of containerized applications.
Landing design preview
Landing: View Platform
Login: Sign In
Dashboard: View Analytics
Dashboard: Monitor Performance
Users: Manage Accounts
Users: Edit Permissions