{"id":18986760,"url":"https://github.com/saumya40-codes/doodler","last_synced_at":"2025-04-19T20:45:20.799Z","repository":{"id":214836990,"uuid":"734197028","full_name":"Saumya40-codes/Doodler","owner":"Saumya40-codes","description":"Multiplayer drawing and chat application","archived":false,"fork":false,"pushed_at":"2025-02-16T06:17:54.000Z","size":397243,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-29T13:12:17.243Z","etag":null,"topics":["ansible","ansible-playbook","express","kubernetes-deployment","mongodb","nextjs","render","socket"],"latest_commit_sha":null,"homepage":"https://doodler-ecru.vercel.app/","language":"TypeScript","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/Saumya40-codes.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":"2023-12-21T05:23:16.000Z","updated_at":"2025-02-26T03:58:13.000Z","dependencies_parsed_at":"2024-06-01T16:25:33.493Z","dependency_job_id":"4cee63e2-db1f-4720-9815-77a7f8d91f1f","html_url":"https://github.com/Saumya40-codes/Doodler","commit_stats":null,"previous_names":["saumya40-codes/doodler"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Saumya40-codes%2FDoodler","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Saumya40-codes%2FDoodler/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Saumya40-codes%2FDoodler/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Saumya40-codes%2FDoodler/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Saumya40-codes","download_url":"https://codeload.github.com/Saumya40-codes/Doodler/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249795809,"owners_count":21326780,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["ansible","ansible-playbook","express","kubernetes-deployment","mongodb","nextjs","render","socket"],"created_at":"2024-11-08T16:36:33.867Z","updated_at":"2025-04-19T20:45:20.771Z","avatar_url":"https://github.com/Saumya40-codes.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Doodler\n\n**Doodler** is an interactive canvas of creativity built with Next.js and Socket.io. It enables you to create personalized rooms, join friends using unique IDs, or dive into public random rooms. Engage in real-time collaboration through drawing and chat, making each session fun and dynamic.\n\n### 🚀 Quick Demo\n\n**Please 🐻 with website on production taking long time to respond to your *clicks*, this project's API is deployed on render and due to bit inactivity, it goes to long sleep (lamba functions ugh!))**\n\n\nhttps://github.com/user-attachments/assets/985946c4-cac6-4fe0-ab36-d8550a5d45c3\n\n---\n\n### 🎨 Key Features:\n\n- **Room Creation:**  \n  Create your own customizable rooms and invite others to join.\n  \n- **Join Friends' Rooms:**  \n  Easily connect with friends using unique room IDs for private collaboration.\n    \n- **Public Random Rooms:**  \n  Spontaneously connect with others by joining public rooms for open creativity.\n    \n- **Private Rooms:**  \n  Ensure privacy—only users with specific IDs can access private rooms, with full control by the owner.\n  \n- **Real-time Chat:**  \n  Engage in instant messaging with everyone in your room for seamless collaboration.\n    \n- **Collaborative Drawing:**  \n  Draw together in real-time, creating shared artwork and designs.\n    \n- **User Presence Tracking:**  \n  Get instant notifications when a user joins or leaves your room, keeping you informed of active participants.\n\n---\n\n### 🛠️ Tech Stack\n\n- **TypeScript**\n- **Next.js**\n- **Chakra UI**\n- **Socket.io**\n- **Express**\n- **MongoDB**\n\n---\n\n### ⚙️ Additional Features\n\n- **Automated Server Configuration on AWS EC2:**  \n  With Ansible, automate the setup of Nginx, SSL, Node.js, and PM2 for enhanced scalability and performance.\n  \n- **Kubernetes Integration:**  \n  Deploy and manage Doodler using Kubernetes Pods, Deployments, and Services.  \n  Check out the [Kubernetes configuration files](https://github.com/Saumya40-codes/Doodler/tree/master/server/kubernetes-config) for further details.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaumya40-codes%2Fdoodler","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsaumya40-codes%2Fdoodler","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaumya40-codes%2Fdoodler/lists"}