magic-chat

byAbhigyan Mukherjee

Build a chat web like WhatsApp Full stack

No preview

Comments (0)

No comments yet. Be the first!

System Requirements

System Requirement Document
Page 1 of 6

System Requirements Document (SRD)

Project Name: magic-chat

1. Introduction

Welcome to the System Requirements Document (SRD) for magic-chat, a private chat web application designed specifically for family use. This document outlines the requirements, design concepts, and technical specifications necessary to build a WhatsApp-style chat platform tailored to Abhigyan Mukherjee's vision of fostering close-knit communication among family members.

The application will prioritize simplicity, security, and ease of use, ensuring that family members of all ages can connect seamlessly.

Page 2 of 6

2. System Overview

magic-chat is a full-stack web application that enables real-time messaging for family members. The platform will support text-based communication, group chats, and multimedia sharing (images/files). It will be designed with a user-friendly interface and robust backend architecture to ensure smooth performance and data security.

Key features include:

  • Real-time messaging with instant delivery and read receipts.
  • Group chat functionality for family discussions.
  • Multimedia sharing (images, videos, and files).
  • End-to-end encryption for secure communication.
  • Customizable themes to reflect family preferences.

The application will be optimized for both desktop and mobile browsers, ensuring accessibility across devices.

3. Functional Requirements

As story points:

  • As a User, I should be able to send and receive text messages in real time.
  • As a User, I should be able to create and participate in group chats.
  • As a User, I should be able to share images, videos, and files with other family members.
  • As a User, I should be able to see message delivery and read receipts.
  • As a User, I should be able to customize the app's theme to match family preferences.
  • As a User, I should be able to access the chat app securely with end-to-end encryption.
  • As a User, I should be able to log in using a simple and secure authentication system.

4. User Personas

Page 3 of 6

1. Admin

  • Role: Family organizer or tech-savvy member.
  • Responsibilities: Managing group chats, approving new users, and overseeing app settings.

2. User

  • Role: Family members of all ages.
  • Responsibilities: Sending messages, participating in group chats, and sharing multimedia.

3. Guest

  • Role: Temporary participants (e.g., extended family or close friends).
  • Responsibilities: Limited access to specific chats or groups.

5. Visuals Colors and Theme

Unique Color Palette:

The color palette for magic-chat will reflect warmth, family bonds, and simplicity:

  • Background: #F9F5E7 (Soft Cream)
  • Surface: #FFE6CC (Warm Peach)
  • Text: #3E2723 (Deep Brown)
  • Accent: #FF7043 (Bright Coral)
  • Muted Tones: #B0BEC5 (Soft Gray-Blue)

This palette creates a welcoming and cozy atmosphere, perfect for family communication.

6. Signature Design Concept

Page 4 of 6

Interactive Family Tree Homepage

The homepage of magic-chat will feature an interactive family tree design. Each family member will be represented as a node on the tree, with branches connecting them to their relatives.

Details:

  • Hover Interaction: Hovering over a node will display the member's profile picture and status (e.g., online/offline).
  • Click Interaction: Clicking on a node will open a direct chat window with that family member.
  • Group Chats: Group chats will appear as clusters of nodes, visually representing the participants.
  • Animations: The tree will gently sway, mimicking the movement of leaves in the wind, creating a calming effect.
  • Transitions: Smooth transitions when navigating between chats and the homepage.

This design concept is bold, memorable, and reinforces the theme of family connection.

7. Non-Functional Requirements

  • Performance: Messages should be delivered within 1 second of sending.
  • Scalability: The system should support up to 50 concurrent users without performance degradation.
  • Security: End-to-end encryption must be implemented for all communications.
  • Accessibility: The app must be usable by individuals of all ages, with intuitive navigation and readable fonts.
  • Cross-Platform Compatibility: The app should function seamlessly on both desktop and mobile browsers.

8. Tech Stack

Frontend:

  • React for Web
Page 5 of 6

Backend:

  • Python
  • FastAPI

Database:

  • MySQL (preferred) or MariaDB for relational data.
  • MongoDB for NoSQL data storage.
  • WeaviateDB for vector-based search and AI-driven features.

AI Models:

  • GPT 5.4 for user-friendly responses.
  • Claude 4.6 Opas for academic or coding-related queries.
  • Gemini 3.1 Pro for friendly and engaging interactions.
  • Google Nano Banana for image generation.

AI Tools:

  • Litellm for LLM routing.
  • Langchain for advanced AI workflows.

Orchestration:

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

9. Assumptions and Constraints

Page 6 of 6

Assumptions:

  • The app will primarily be used by family members in India.
  • Users will have access to stable internet connections.
  • The app will be used on modern browsers and devices.

Constraints:

  • The app must comply with Indian data protection laws.
  • Development must be completed within a 6-month timeline.
  • Budget constraints may limit the use of premium third-party services.

10. Glossary

  • Real-time Messaging: Instant delivery of messages without noticeable delay.
  • End-to-End Encryption: A security feature ensuring that only the sender and receiver can read the messages.
  • Interactive Family Tree: A visual representation of family members connected through nodes and branches.
  • Group Chat: A chat feature allowing multiple users to communicate in a single conversation.
  • Multimedia Sharing: The ability to send and receive images, videos, and files.

This document serves as the foundation for the development of magic-chat. By adhering to these requirements, we aim to create a secure, engaging, and family-centric chat application.

Landing: View Family Tree
Login: Sign In
Home: View Chats
Admin Panel: Manage Users
Admin Panel: Approve Members
Group Chat: Create Group
Settings: Configure App