{"id":23387397,"url":"https://github.com/veerendra19codes/chat-app","last_synced_at":"2026-04-30T14:37:02.355Z","repository":{"id":269232325,"uuid":"895208302","full_name":"veerendra19codes/chat-app","owner":"veerendra19codes","description":"Chat App built in MERN","archived":false,"fork":false,"pushed_at":"2024-11-27T19:12:17.000Z","size":211,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-08T12:49:23.012Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://chat-app-socketdotio.vercel.app","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/veerendra19codes.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-27T18:59:02.000Z","updated_at":"2024-11-27T19:12:21.000Z","dependencies_parsed_at":"2024-12-22T01:15:53.871Z","dependency_job_id":null,"html_url":"https://github.com/veerendra19codes/chat-app","commit_stats":null,"previous_names":["veerendra19codes/chat-app"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/veerendra19codes/chat-app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/veerendra19codes%2Fchat-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/veerendra19codes%2Fchat-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/veerendra19codes%2Fchat-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/veerendra19codes%2Fchat-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/veerendra19codes","download_url":"https://codeload.github.com/veerendra19codes/chat-app/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/veerendra19codes%2Fchat-app/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32468009,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"ssl_error","status_checked_at":"2026-04-30T13:12:06.837Z","response_time":57,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chat-app","mern","socket-io"],"created_at":"2024-12-22T01:15:51.025Z","updated_at":"2026-04-30T14:37:02.339Z","avatar_url":"https://github.com/veerendra19codes.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Real-Time Chat Application (MERN Stack)\n\nThis is a real-time chat application built using the MERN stack (MongoDB, Express, React, and Node.js). The application supports user authentication, real-time messaging, and online/offline user presence indicators.\n\n## Features\n\n### User Authentication\n\n- **JWT-based session management** for secure authentication.\n- User registration and login with proper validation.\n- Passwords are hashed using **bcrypt** before storing in MongoDB.\n\n### Chat Functionality\n\n- Authenticated users can send and receive messages in real-time.\n- Messages are transmitted using **WebSockets** via **Socket.io**.\n- Chat history is stored in MongoDB and is retrievable upon login.\n\n### User Interface\n\n- A **React-based frontend** for sending and receiving messages.\n- Displays a list of online users.\n- A minimalist chat UI with:\n  - Input field for typing messages.\n  - Display area for conversation history.\n  - Automatic scrolling for the latest messages.\n\n### Online Presence Indicator\n\n- Users are marked as **online** or **offline** based on their connection status.\n- Real-time status updates broadcasted via WebSockets.\n\n\n---\n\n## Tech Stack\n\n### Backend\n\n- **Node.js**: Backend runtime.\n- **Express.js**: Server framework.\n- **MongoDB**: Database for storing user profiles and chat history.\n- **Socket.io**: WebSocket library for real-time communication.\n\n### Frontend\n\n- **React**: Frontend library for building the user interface.\n- **Socket.io-client**: For connecting the frontend to the WebSocket server.\n\n### Other Libraries/Tools\n\n- **bcrypt**: For hashing passwords.\n- **jsonwebtoken**: For JWT-based authentication.\n- **Mongoose**: For MongoDB object modeling.\n\n---\n\n## Getting Started\n\nFollow these steps to set up and run the application locally.\n\n### Prerequisites\n\n- **Node.js** (v16 or later)\n- **MongoDB** (local or cloud instance)\n- **npm** or **yarn**\n\n### Installation\n\n1. Clone the repository:\n    ```bash\n    git clone \u003crepository-url\u003e\n    cd real-time-chat-app\n\n2. Install dependencies for both the backend and frontend:\n    ```bash\n    # Backend\n    cd backend\n    npm install\n\n    # Frontend\n    cd ../frontend\n    npm install\n\n\n### Environment Variables\n\nCreate .env files in both the backend and frontend directories.\n\n1. Backend .env:\n    ```bash\n    PORT=5000\n    MONGO_URI=\u003cyour-mongodb-connection-string\u003e\n    JWT_SECRET=\u003cyour-jwt-secret\u003e\n\n2. Frontend .env:\n    ```bash\n    REACT_APP_BACKEND_URL=http://localhost:5000\n  \n### Running the Application\n\n1. Start the backend server:\n    ```bash\n    cd backend\n    npm install\n    npm start\n\n2. Start the frontend development server:\n    ```bash\n    cd frontend\n    npm install\n    npm start\n\nOpen the app in your browser at http://localhost:3000.\n\n---\n\nDeployment:\n\nThis app is deployed on:\nFrontend: Netlify or Vercel\nBackend: Render \n\nTo deploy, follow these steps:\nUpdate .env files with production values.\nPush your code to GitHub and connect it to your hosting services.\nFor Netlify or Vercel, ensure the frontend is set to use the correct backend URL.\n\n---\n\n### Future Improvements\n\nImprove UI design for better user experience.\nAdd group chat functionality.\nEnhance typing indicator for multiple users.\nIntegrate push notifications for new messages.\n\n---\n\n### Author:\n\n- **Name**: Veerendra Gumate\n- **GitHub**: https://github.com/veerendra19codes\n- **LinkedIn**: https://linkedin.in/in/veerendragumate\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fveerendra19codes%2Fchat-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fveerendra19codes%2Fchat-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fveerendra19codes%2Fchat-app/lists"}