100xDraw is a real-time collaborative whiteboard tool built with WebSockets. It enables users to draw, collaborate, and share their whiteboards instantly. This project is built using a Turborepo for monorepo management and utilizes pnpm as the package manager.
The project consists of the following packages:
- ws-backend: WebSocket server for real-time messaging.
- http-backend: HTTP server for REST API services.
- react-frontend: React-based frontend for the chat application.
Ensure you have the following installed on your system:
git clone https://github.com/your-repo/roomify.git
cd roomify- Navigate to the
backendfolder:
cd backend- Install all dependencies using pnpm:
pnpm install- Start all applications simultaneously::
pnpm run devThis command runs all the apps in parallel using Turborepo.
- ws-backend: Available at ws://localhost:8080
- http-backend: Available at http://localhost:8001
- react-frontend: Available at http://localhost:5173
- nextjs: Available at http://localhost:3001
-
Navigate to the WebSocket backend folder:
cd apps/ws-backend -
Install dependencies:
pnpm install
-
Start the WebSocket server:
pnpm run dev
-
Navigate to the HTTP backend folder:
cd apps/http-backend -
Install dependencies:
pnpm install
-
Start the HTTP server:
pnpm run dev
-
Navigate to the React frontend folder:
cd apps/react-frontend -
Install dependencies:
pnpm install
-
Start the React development server:
pnpm run dev
-
Navigate to the Next.js frontend folder:
cd apps/nextjs -
Install dependencies:
pnpm install
-
Start the Next.js development server:
pnpm run dev
-
Real-Time Collaboration: Draw and collaborate live with others.
-
Intuitive Drawing Tools: Easy-to-use interface with multiple drawing options.
-
Shareable Links: Invite others by sharing a unique link.
-
Responsive Design: Works seamlessly on all devices.
pnpm dev: Run all development servers.pnpm build: Build all applications.pnpm lint: Lint all applications.
We welcome contributions! If you find a bug or have a feature request, please open an issue or submit a pull request.
This project is licensed under the MIT License.