Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

11 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

SyncHub Frontend

React Vite TailwindCSS Socket.io

Modern Real-time Chat Application Frontend

Live Demo โ€ข Report Bug โ€ข Request Feature


๐Ÿ“– About The Project

SyncHub Frontend is a sleek, modern, and responsive chat application built with React and real-time communication capabilities. It provides an intuitive user interface for instant messaging with beautiful animations and a seamless user experience.

โœจ Key Features

  • ๐Ÿ’ฌ Real-time Messaging - Instant message delivery with Socket.io
  • ๐ŸŽจ Modern UI/UX - Beautiful interface built with Tailwind CSS
  • ๐Ÿ” Secure Authentication - JWT-based user authentication
  • ๐Ÿ‘ฅ Online Status - See who's online in real-time
  • โœ๏ธ Typing Indicators - Know when someone is typing
  • ๐Ÿ’… Responsive Design - Works perfectly on all devices
  • โšก Fast Performance - Built with Vite for lightning-fast development
  • ๐ŸŽญ Smooth Animations - Engaging user experience with animations
  • ๐Ÿ“ฑ Mobile Friendly - Optimized for mobile devices

๐Ÿ› ๏ธ Tech Stack

Technology Purpose
React 19 UI library for building user interfaces
Vite Next-generation frontend tooling
Tailwind CSS 4 Utility-first CSS framework
Socket.io Client Real-time bidirectional communication
Axios HTTP client for API requests
React Router DOM Client-side routing
ESLint Code linting and quality

๐Ÿš€ Getting Started

Prerequisites

  • Node.js (v14 or higher)
  • npm or yarn package manager
  • Backend server running (see backend repo)

Installation

  1. Clone the repository

    git clone https://github.com/Shriii19/synchub-frontend.git
    cd synchub-frontend
  2. Install dependencies

    npm install
  3. Configure API endpoint

    Update the backend URL in the Socket.io connection and axios requests if needed:

    • Default: http://localhost:5000
  4. Start the development server

    npm run dev
  5. Build for production

    npm run build
  6. Preview production build

    npm run preview

The application will be available at http://localhost:5173


๐Ÿ“ Project Structure

frontend/
โ”œโ”€โ”€ public/
โ”‚   โ””โ”€โ”€ vite.svg              # Vite logo
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ assets/               # Static assets
โ”‚   โ”‚   โ””โ”€โ”€ react.svg
โ”‚   โ”œโ”€โ”€ pages/
โ”‚   โ”‚   โ”œโ”€โ”€ Login.jsx        # Login/Register page
โ”‚   โ”‚   โ””โ”€โ”€ Chat.jsx         # Main chat interface
โ”‚   โ”œโ”€โ”€ App.jsx              # Main app component with routing
โ”‚   โ”œโ”€โ”€ App.css              # App-specific styles
โ”‚   โ”œโ”€โ”€ index.css            # Global styles with Tailwind
โ”‚   โ””โ”€โ”€ main.jsx             # Application entry point
โ”œโ”€โ”€ index.html               # HTML template
โ”œโ”€โ”€ vite.config.js           # Vite configuration
โ”œโ”€โ”€ eslint.config.js         # ESLint configuration
โ”œโ”€โ”€ package.json             # Dependencies and scripts
โ””โ”€โ”€ .gitignore               # Git ignore rules

๐ŸŽจ Features Overview

๐Ÿ” Authentication System

  • User registration with email validation
  • Secure login with JWT tokens
  • Persistent sessions with localStorage
  • Token-based API authentication

๐Ÿ’ฌ Chat Interface

  • Real-time message sending and receiving
  • Message history loading
  • Auto-scrolling to latest messages
  • Typing indicators
  • Online user count
  • Message timestamps
  • User identification

๐ŸŽญ User Experience

  • Smooth scrolling animations
  • Loading states
  • Error handling
  • Responsive layout
  • Clean and intuitive design
  • Emoji and text support

๐ŸŒ Available Scripts

Command Description
npm run dev Start development server with hot reload
npm run build Build for production
npm run preview Preview production build locally
npm run lint Run ESLint for code quality

๐Ÿ”ง Configuration

Vite Configuration

The project uses Vite for fast development and optimized builds. Configuration can be modified in vite.config.js.

Tailwind CSS

Tailwind is configured with the @tailwindcss/vite plugin for instant updates and modern CSS features.

ESLint

Code quality is maintained with ESLint and React-specific rules.


๐Ÿš€ Future Scope

Phase 1: User Experience Enhancements

  • ๐ŸŽจ Themes - Dark/Light mode toggle
  • ๐ŸŽต Sound Effects - Notification sounds for new messages
  • ๐Ÿ˜Š Emoji Picker - Built-in emoji selector
  • ๐Ÿ“ Message Formatting - Markdown support for rich text
  • ๐Ÿ–ผ๏ธ User Avatars - Profile picture uploads and display

Phase 2: Advanced Chat Features

  • ๐Ÿ“Ž File Sharing - Drag-and-drop file uploads with preview
  • ๐Ÿ” Message Search - Search through chat history
  • ๐Ÿ“Œ Pin Messages - Pin important messages at the top
  • โœ๏ธ Edit Messages - Edit sent messages
  • ๐Ÿ—‘๏ธ Delete Messages - Delete own messages
  • โ†ฉ๏ธ Reply to Messages - Thread-like message replies
  • ๐ŸŽญ Reactions - React to messages with emojis

Phase 3: Room & Organization

  • ๐Ÿšช Multiple Rooms - Create and join different chat rooms
  • ๐Ÿ”’ Private Rooms - Password-protected rooms
  • ๐Ÿ‘ฅ Direct Messages - One-on-one conversations
  • ๐Ÿ“Š Room Info - View room members and settings
  • ๐ŸŽฏ Mentions - @mention specific users

Phase 4: Real-time Features

  • ๐Ÿ“น Video Calls - WebRTC video/audio calling
  • ๐ŸŽค Voice Messages - Record and send voice clips
  • ๐Ÿ“บ Screen Sharing - Share screen in calls
  • ๐Ÿ”” Push Notifications - Browser notifications for messages
  • ๐Ÿ“ Location Sharing - Share location in chat

Phase 5: Social & Community

  • ๐Ÿ‘ค User Profiles - Detailed user profile pages
  • ๐ŸŒ Status Updates - Custom status messages
  • ๐Ÿ”” Notification Center - Centralized notification panel
  • ๐Ÿ† User Badges - Achievement badges
  • ๐Ÿ“ˆ Activity Tracking - User activity insights

Phase 6: Performance & Advanced

  • โ™ฟ Accessibility - WCAG compliance for all users
  • ๐ŸŒ Internationalization - Multi-language support
  • ๐Ÿ’พ Offline Support - PWA capabilities with service workers
  • ๐Ÿ”„ Message Sync - Cross-device message synchronization
  • ๐ŸŽฎ Keyboard Shortcuts - Power user keyboard navigation
  • ๐Ÿ“ฑ Mobile App - React Native mobile version

Phase 7: Enterprise Features

  • ๐Ÿ‘” Admin Dashboard - Comprehensive admin controls
  • ๐Ÿ“Š Analytics - User engagement analytics
  • ๐Ÿ” SSO Integration - Single sign-on support
  • ๐Ÿ“ Audit Logs - Activity logging and monitoring
  • ๐Ÿ”— API Documentation - Interactive API explorer
  • ๐Ÿค– Chatbot Integration - Automated chat assistance

๐ŸŽฏ Performance Optimizations

  • โšก Lightning-fast build times with Vite
  • ๐Ÿ“ฆ Code splitting for optimal bundle size
  • ๐Ÿ”„ Lazy loading of components
  • ๐Ÿ—œ๏ธ Asset optimization and compression
  • ๐Ÿš€ React 19 performance improvements
  • ๐Ÿ’จ TailwindCSS JIT for minimal CSS

๐Ÿ“ฑ Responsive Design

The application is fully responsive and optimized for:

  • ๐Ÿ“ฑ Mobile devices (320px and up)
  • ๐Ÿ“ฑ Tablets (768px and up)
  • ๐Ÿ’ป Laptops (1024px and up)
  • ๐Ÿ–ฅ๏ธ Desktops (1280px and up)

๐Ÿค Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the project
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

๐Ÿ“„ License

This project is licensed under the MIT License.


๐Ÿ“ง Contact

Project Link: https://github.com/Shriii19/synchub-frontend

Backend Repository: https://github.com/Shriii19/synchub-backend


Made with โค๏ธ by the SyncHub Team

โญ Star us on GitHub โ€” it motivates us a lot!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages