PaintPals is a multiplayer drawing application inspired by the classic MS Paint. It allows multiple users to collaborate on the same canvas in real-time, making it perfect for creating collaborative art, brainstorming visually, or simply having fun with friends.
- Real-time Collaborative Drawing: Draw together with friends or colleagues in real-time on the same canvas.
- Versatile Drawing Tools: Choose from tools like brush, eraser, line, rectangle, and circle.
- Customization Options: Adjust brush size and color to suit your creative needs.
- Drawing Management:
- Save: Preserve your artwork for later.
- Load: Revisit saved drawings.
- Clear: Start fresh with a blank canvas.
- Download: Save your creation to your device as an image.
- Responsive Design: Enjoy a seamless experience across all devices with a clean, Material-UI-powered interface.
PaintPals is built with the following technologies:
- Frontend:
- React: For a dynamic and responsive user interface.
- Material-UI: For modern and responsive UI components.
- Backend:
- Node.js: Handles server-side functionality and API.
- Socket.IO: Powers real-time collaboration between users.
- Open your browser and navigate to PaintPals.
- Enter a room name and your username to join an existing room or create a new one.
- Start drawing! Use the toolbar to select tools, change brush size, pick colors, and manage your drawings.
- Collaborate with other users in real-time on the shared canvas.
Follow these steps to set up PaintPals locally:
-
Clone the repository:
git clone https://github.com/crizmo/PaintPals.git cd paintpals -
Install dependencies for both client and server:
# For the client cd client npm install # For the server cd ../server npm install
-
Start the development servers:
# In the client directory npm run dev # In the server directory npm run dev
-
Open your browser and go to
http://localhost:5173to use PaintPals.
We welcome contributions to PaintPals! To contribute:
- Fork the repository.
- Create a new branch:
git checkout -b feature-name
- Make your changes and commit them:
git commit -m "Add feature-name" - Push your branch:
git push origin feature-name
- Open a pull request and describe your changes in detail.
This project is licensed under the MIT License. See the LICENSE file for details.