jolly-chat

byDiya Trivedi

build a chat-app like whatsapp messenger

Landing
Landing

Comments (0)

No comments yet. Be the first!

System Requirements

System Requirement Document
Page 1 of 6

System Requirements Document (SRD)

Project Name: jolly-chat

1. Introduction

The jolly-chat project aims to develop a full-featured chat application tailored for users in India, providing seamless real-time messaging, robust user authentication, and efficient contact management capabilities. Designed to rival popular messaging platforms like WhatsApp Messenger, jolly-chat will focus on delivering a secure, intuitive, and feature-rich experience for its users.

This document outlines the system requirements for jolly-chat, ensuring clarity and alignment for all stakeholders involved in its development.

2. System Overview

jolly-chat is envisioned as a modern, scalable, and user-friendly chat application that supports:

  • Real-time messaging with multimedia support (text, images, videos, and voice notes).
  • Secure user authentication and account management.
  • Contact management, including syncing, adding, and organizing contacts.
  • Group chats, broadcast messages, and status updates.
  • End-to-end encryption for privacy and security.

The system will cater to a diverse user base, ensuring compatibility across web and mobile platforms. It will leverage cutting-edge technologies to provide a fast, reliable, and engaging communication experience.

Page 2 of 6

3. Functional Requirements

As User:

  • I should be able to register and log in securely using my phone number or email.
  • I should be able to send and receive real-time messages, including text, images, videos, and voice notes.
  • I should be able to create, join, and manage group chats.
  • I should be able to update my profile picture, status, and personal information.
  • I should be able to search and add contacts to my contact list.
  • I should be able to block or report users for inappropriate behavior.
  • I should be able to view and manage my chat history.
  • I should be able to sync my contacts with the app.
  • I should be able to set custom notifications for specific chats.
  • I should be able to archive or delete chats.

As Admin:

  • I should be able to manage user accounts, including banning or unbanning users.
  • I should be able to monitor flagged content or reported users.
  • I should be able to send announcements or notifications to all users.
  • I should be able to view analytics and usage statistics.

4. User Personas

1. Regular User

  • Description: Everyday users who use the app for personal communication.
  • Goals: Seamless messaging, privacy, and ease of use.
  • Pain Points: Security concerns, app crashes, or slow performance.
Page 3 of 6

2. Admin

  • Description: System administrators responsible for maintaining the platform.
  • Goals: Ensure smooth operation, manage users, and address issues promptly.
  • Pain Points: Lack of tools for monitoring and managing the system effectively.

5. Visuals Colors and Theme

Color Palette for jolly-chat:

  • Background: #F5F9FF (Soft Sky Blue)
  • Surface: #FFFFFF (Pure White)
  • Text: #2C3E50 (Deep Charcoal)
  • Accent: #FF6F61 (Vibrant Coral)
  • Muted Tones: #B0BEC5 (Cool Gray)

Theme Direction:

The theme will emphasize a clean, modern, and friendly interface with a focus on usability and accessibility. The vibrant coral accent will be used sparingly to highlight key actions and notifications, while the soft sky blue background will create a calming and inviting atmosphere.

Page 4 of 6

6. Signature Design Concept

Interactive Chat Universe

The homepage of jolly-chat will feature an interactive galaxy map where each star represents a feature or section of the app. Users can hover over stars to see animated tooltips explaining the feature (e.g., "Real-Time Messaging," "Group Chats," "End-to-End Encryption").

  • Animation: Stars will gently pulse and shimmer, creating a dynamic and engaging effect.
  • Transitions: Clicking on a star will zoom into a specific feature, transitioning smoothly to a detailed explanation or demo.
  • Micro-Interactions: Subtle sound effects and haptic feedback (on mobile) will enhance the experience.
  • Color Shifts: The galaxy background will subtly change hues based on the time of day, providing a personalized touch.

This concept will make the app's landing page unforgettable, drawing users into the jolly-chat universe.

7. Non-Functional Requirements

  • Performance: The system must support at least 10,000 concurrent users with minimal latency.
  • Scalability: The architecture should allow for seamless scaling to accommodate future growth.
  • Security: All communications must be end-to-end encrypted. User data must be stored securely and comply with local data protection laws (e.g., India's IT Act).
  • Availability: The system should maintain 99.9% uptime.
  • Localization: The app should support multiple languages, with Hindi and English as defaults.
  • Cross-Platform Compatibility: The app must work seamlessly on Android, iOS, and web browsers.

8. Tech Stack

Page 5 of 6

Frontend:

  • React for Web
  • React Native for Mobile App

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:

  • Litellm for LLM Routing
  • Langchain

Orchestration:

  • Docker (local)
  • Kubernetes (server-side)
Page 6 of 6

9. Assumptions and Constraints

  • Assumptions:

    • Users will have access to stable internet connections.
    • The majority of users will access the app via mobile devices.
    • The app will initially target users in India, with potential for global expansion.
  • Constraints:

    • Compliance with India's data protection regulations is mandatory.
    • The app must be lightweight to ensure compatibility with low-end devices.

10. Glossary

  • Real-Time Messaging: Instant communication between users without noticeable delay.
  • End-to-End Encryption: A security measure ensuring that only the sender and recipient can read the messages.
  • LLM Routing: A method for directing queries to the most appropriate large language model.
  • Orchestration: The automated configuration, coordination, and management of computer systems and software.
Landing design preview
Login: Sign In
Dashboard: View Analytics
Dashboard: View Stats
Users: Manage Accounts
Users: Ban User
Users: Unban User
Reports: Monitor Flagged
Reports: Review Content
Reports: Take Action
Announcements: Send Notification
Announcements: Broadcast Message