shivsin25/SynapseConnect

โ˜… 0Forks 0JavaScriptGitHub โ†—Compare

README

SynapseConnect

Architected & Developed by Shivendra Singh

SynapseConnect is a high-performance, real-time communication platform engineered for seamless connectivity and scalability. Leveraging an event-driven architecture, it facilitates instantaneous data transmission and state synchronization using WebSockets, ensuring low-latency interactions for end-users.

๐Ÿš€ Technical Architecture

The core of SynapseConnect is built upon a robust full-stack environment designed for speed and reliability:

Frontend Layer

  • Core Framework: React 18 - Utilizing the Virtual DOM and fiber architecture for optimal rendering performance.
  • Build System: Vite - Utilizing native ES modules for lightning-fast HMR (Hot Module Replacement) and optimized production builds.
  • State Management: Zustand - A small, fast, and scalable bearbones state-management solution using simplified flux principles.
  • Styling Engine: TailwindCSS - Utility-first CSS framework for rapid UI development and highly optimized production bundles.
  • UI Components: DaisyUI - Component classes for Tailwind CSS.
  • Iconography: Lucide React - Lightweight, consistent icon set.

Backend Layer

  • Runtime Environment: Node.js - Asynchronous event-driven JavaScript runtime.
  • API Framework: Express.js - Minimalist web framework for handling RESTful API routes and middleware pipelines.
  • Real-Time Engine: Socket.IO - Enabling bidirectional, event-based communication between clients and server.
  • Database: MongoDB - NoSQL database for flexible schema design and scalable document storage, interfaced via Mongoose ODM.
  • Security:
    • JWT (JSON Web Tokens): Stateless authentication mechanism.
    • Bcrypt.js: Salting and hashing for secure password storage.

โšก Key Features

  • Bidirectional Event Stream: Real-time messaging capability powered by persistent WebSocket connections.
  • Optimistic UI Updates: Instant feedback loops for message delivery states.
  • Authentication & Authorization: Secure user sessions with token-based verification and protected routes.
  • Presence System: Real-time online/offline status tracking of connected users.
  • Theme Engine: Dynamic theme switching capability supporting 32+ distinct visual modes.
  • Responsive Layout: Fluid design adapting to all viewports (Mobile, Tablet, Desktop).

๐Ÿ› ๏ธ Installation & Deployment

Prerequisites

  • Node.js (v18+ recommended)
  • MongoDB instance (Local or Atlas Cluster)
  • NPM or Yarn package manager

1. clone the repository

git clone https://github.com/ShivendraSingh/SynapseConnect.git
cd SynapseConnect

2. Backend Configuration

Navigate to the backend service and install dependencies:

cd backend
npm install

Create a .env file in the backend directory with the following variables:

PORT=5001
MONGODB_URI=your_mongodb_connection_string
JWT_SECRET=your_strong_jwt_secret
CLOUDINARY_CLOUD_NAME=your_cloud_name
CLOUDINARY_API_KEY=your_api_key
CLOUDINARY_API_SECRET=your_api_secret
NODE_ENV=development

Start the backend server:

npm run dev

3. Frontend Configuration

Open a new terminal, navigate to the frontend directory, and install dependencies:

cd frontend
npm install

Start the development server:

npm run dev

4. Build for Production

To generate optimized static assets for production deployment:

npm run build

๐Ÿ‘จโ€๐Ÿ’ป Author

Shivendra Singh
Full Stack Software Engineer


Copyright ยฉ 2024 Shivendra Singh. All rights reserved.

Contributors

VimarshDwivedi

Issues