Skip to content

Aseel-Sh/Nexus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 

Repository files navigation

Nexus (Development Phase)

Welcome to Nexus, a real-time messaging platform currently in the planning phase. This project is being developed as a learning experience to explore the core functionalities of modern messaging systems, including real-time communication, group management, and user moderation.


Purpose

The goal of Nexus is to:

  1. Learn and experiment with technologies like WebSockets, user authentication, and end-to-end encryption.
  2. Design a chat application that is scalable, secure, and user-friendly.
  3. Provide a foundation for implementing advanced features like message queues, caching, and load balancing.

Current Status

This project is in the development phase, with no features implemented yet. Detailed documentation has been created to outline both functional and non-functional features, ensuring a structured approach to development. For more details, visit my Nexus System Design Documentation.


Core Features (Planned)

NOTE: I MIGHT add a translation feature using DeepL’s API to provide real-time language translations. In the future, this could be improved by training models for frequently used languages based on user preferences, delivering more accurate and context specific translations while still using third-party APIs for less frequently used languages. if cost weren’t a concern. This is an effort to help people communicate regardless of language barriers! (There have been multiple times where I couldn’t convey my point as fluently as I wanted in a second language, and I feel this feature could be incredibly helpful in such situations)

Authentication & Profile

  • Register & Login (Email/Username & password or OAuth)
  • Two-Factor Authentication
  • Edit Profile
  • Reset Password

Chat Functionality

  • Real-time messaging
  • One-to-one messaging (friendship required)
  • Group messaging (up to 50 users per group)
  • Media sharing
  • Message timestamps (sent, delivered, and read)
  • Online/Offline status (users can hide their status)
  • Message reactions, replies, and edit/delete functionality
  • Typing indicators

Planned Bonus Features:

  • Markdown support for formatting messages
  • Message pinning
  • "Seen by X" for group messages
  • Group activity tracking (e.g., "User X joined")

Notifications

  • In-app notifications
  • Push notifications (for new messages or mentions)

Planned Bonus Features:

  • Mention Notifications (e.g., "@")

Search

  • Search messages and chats (by keywords, date, or user)

Customization

  • Light/Dark Mode
  • Mute/Unmute chat notifications

Non-Functional Features (Planned)

  • End-to-End Encryption for secure communication.
  • API health checks and monitoring tools.
  • Database indexing for faster queries.
  • Caching and load testing for scalability (experimental).

Roadmap

  1. Design Phase (Complete):
    • Documenting core features and system architecture.
    • Identifying technologies and tools to use.
  2. Development Phase (In Progress):
    • Start implementing authentication and real-time messaging.
    • Focus on user-specific and shared features.
  3. Testing & Optimization (Upcoming):
    • Ensure scalability and security.
    • Conduct performance testing for planned non-functional features.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published