An open API service indexing awesome lists of open source software.

https://github.com/saumya40-codes/doodler

Multiplayer drawing and chat application
https://github.com/saumya40-codes/doodler

ansible ansible-playbook express kubernetes-deployment mongodb nextjs render socket

Last synced: about 1 year ago
JSON representation

Multiplayer drawing and chat application

Awesome Lists containing this project

README

          

# Doodler

**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.

### 🚀 Quick Demo

**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!))**

https://github.com/user-attachments/assets/985946c4-cac6-4fe0-ab36-d8550a5d45c3

---

### 🎨 Key Features:

- **Room Creation:**
Create your own customizable rooms and invite others to join.

- **Join Friends' Rooms:**
Easily connect with friends using unique room IDs for private collaboration.

- **Public Random Rooms:**
Spontaneously connect with others by joining public rooms for open creativity.

- **Private Rooms:**
Ensure privacy—only users with specific IDs can access private rooms, with full control by the owner.

- **Real-time Chat:**
Engage in instant messaging with everyone in your room for seamless collaboration.

- **Collaborative Drawing:**
Draw together in real-time, creating shared artwork and designs.

- **User Presence Tracking:**
Get instant notifications when a user joins or leaves your room, keeping you informed of active participants.

---

### 🛠️ Tech Stack

- **TypeScript**
- **Next.js**
- **Chakra UI**
- **Socket.io**
- **Express**
- **MongoDB**

---

### ⚙️ Additional Features

- **Automated Server Configuration on AWS EC2:**
With Ansible, automate the setup of Nginx, SSL, Node.js, and PM2 for enhanced scalability and performance.

- **Kubernetes Integration:**
Deploy and manage Doodler using Kubernetes Pods, Deployments, and Services.
Check out the [Kubernetes configuration files](https://github.com/Saumya40-codes/Doodler/tree/master/server/kubernetes-config) for further details.