{"id":27289282,"url":"https://github.com/lovnishverma/flasksocketio","last_synced_at":"2026-01-22T07:04:46.494Z","repository":{"id":285977879,"uuid":"959963090","full_name":"lovnishverma/flasksocketio","owner":"lovnishverma","description":"A real-time chat application built with Flask, Flask-SocketIO, and MongoDB deployed using Docker on render.com. Users can join the chat, set their nickname, and send messages with timestamps in IST.","archived":false,"fork":false,"pushed_at":"2025-07-13T12:52:58.000Z","size":118,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-06T15:39:51.661Z","etag":null,"topics":["flask","flask-socketio","mongodb","python"],"latest_commit_sha":null,"homepage":"https://flasksocketio.onrender.com","language":"HTML","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/lovnishverma.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":"2025-04-03T16:28:02.000Z","updated_at":"2025-07-13T13:12:28.000Z","dependencies_parsed_at":"2025-04-03T17:44:09.452Z","dependency_job_id":null,"html_url":"https://github.com/lovnishverma/flasksocketio","commit_stats":null,"previous_names":["lovnishverma/flasksocketio"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/lovnishverma/flasksocketio","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lovnishverma%2Fflasksocketio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lovnishverma%2Fflasksocketio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lovnishverma%2Fflasksocketio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lovnishverma%2Fflasksocketio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lovnishverma","download_url":"https://codeload.github.com/lovnishverma/flasksocketio/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lovnishverma%2Fflasksocketio/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28657580,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-22T01:17:37.254Z","status":"online","status_checked_at":"2026-01-22T02:00:07.137Z","response_time":144,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["flask","flask-socketio","mongodb","python"],"created_at":"2025-04-11T21:18:04.319Z","updated_at":"2026-01-22T07:04:46.488Z","avatar_url":"https://github.com/lovnishverma.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🗨️ Flask Chat App with Nicknames\n\nA real-time anonymous chat app built using **Flask**, **Flask-SocketIO**, and **MongoDB**, featuring user nicknames, timestamped messages, and a responsive UI with light/dark themes.\n\n\u003e 🔥 Live Demo: [https://flasksocketio.onrender.com](https://flasksocketio.onrender.com)\n\n---\n\n## ✨ Features\n\n* 💬 Real-time chat with **WebSockets (Socket.IO)**\n* 🧠 User **nicknames** (saved in browser)\n* 🕒 Message **timestamps in IST**\n* 🗃️ **Persistent chat history** (MongoDB)\n* 🎨 Toggle between **light/dark theme**\n* 📱 **Mobile-friendly** UI with Bootstrap 5\n\n---\n\n## 🛠️ Tech Stack\n\n| Layer      | Technology                                    |\n| ---------- | --------------------------------------------- |\n| Backend    | Flask, Flask-SocketIO, Gevent, PyMongo        |\n| Frontend   | HTML, CSS, Bootstrap 5, JavaScript, Socket.IO |\n| Database   | MongoDB Atlas                                 |\n| Deployment | Docker, Render.com                            |\n\n---\n\n## 🚀 Getting Started\n\n### 1. Clone the Repository\n\n```bash\ngit clone https://github.com/lovnishverma/flasksocketio.git\ncd flasksocketio\n```\n\n### 2. Create a Virtual Environment (optional but recommended)\n\n```bash\npython -m venv venv\nsource venv/bin/activate  # Windows: venv\\Scripts\\activate\n```\n\n### 3. Install Dependencies\n\n```bash\npip install -r requirements.txt\n```\n\n### 4. Configure MongoDB\n\nEdit the `MONGO_URI` in `app.py`:\n\n```python\nMONGO_URI = \"mongodb+srv://\u003cusername\u003e:\u003cpassword\u003e@cluster0.mongodb.net/chatDB?retryWrites=true\u0026w=majority\"\n```\n\nYou can get this URI from [MongoDB Atlas](https://www.mongodb.com/cloud/atlas).\n\n### 5. Run the App Locally\n\n```bash\npython app.py\n```\n\nApp runs at: [http://127.0.0.1:5000](http://127.0.0.1:5000)\n\n---\n\n## 🐳 Docker Support\n\n### Build the Docker Image\n\n```bash\ndocker build -t flask-chat-app .\n```\n\n### Run the Container\n\n```bash\ndocker run -p 10000:10000 flask-chat-app\n```\n\nOpen [http://localhost:10000](http://localhost:10000)\n\n---\n\n## 📁 Project Structure\n\n```\nflasksocketio/\n│\n├── app.py                  # Main Flask app\n├── requirements.txt        # Python dependencies\n├── Dockerfile              # For containerization\n├── templates/\n│   └── index.html          # Chat interface\n└── static/                 # (Optional) static files\n```\n\n---\n\n## 📦 requirements.txt\n\n```txt\ncertifi==2021.10.8\nclick==7.1.2\ndnspython==1.16.0\neventlet==0.21.0\nFlask==0.12.4\nFlask-PyMongo==2.3.0\nFlask-SocketIO==2.9.6\ngevent==1.3.7\ngevent-websocket==0.10.1\ngreenlet==0.4.15\nJinja2==2.11.3\nMarkupSafe==1.1.1\npymongo==3.7.2\npython-engineio==3.13.2\npython-socketio==4.5.1\npytz==2021.1\nrequests==2.27.1\nsix==1.16.0\nurllib3==1.26.20\nWerkzeug==1.0.1\ngunicorn\n```\n\n---\n\n## 🌐 Deploying on [Render](https://render.com/)\n\n1. Connect GitHub repo to Render.\n2. Use the following settings:\n\n   * **Environment**: Docker\n   * **Port**: Auto-detect (expose 10000)\n   * **Build Command**: *(Leave blank)*\n   * **Start Command**: *(Handled by `CMD` in Dockerfile)*\n\n✅ Render will detect the port and start your Flask-SocketIO app with `gunicorn`.\n\n---\n\n\n## 📸 Screenshots\n\n| Dark Theme                                         | Light Theme                                         |\n| -------------------------------------------------- | --------------------------------------------------- |\n| ![Dark Theme](https://github.com/user-attachments/assets/8b969b0f-eb81-4b0c-9524-490a4100267f) | ![Light Theme](https://github.com/user-attachments/assets/24012702-6a0c-436e-9558-394c280efb93) |\n\n---\n\n## 🤝 Contributing\n\nFeel free to fork, improve, and submit PRs!\n\n---\n\n## 📄 License\n\nMIT License – [Lovnish Verma](https://github.com/lovnishverma)\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flovnishverma%2Fflasksocketio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flovnishverma%2Fflasksocketio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flovnishverma%2Fflasksocketio/lists"}