Draw is a wrapper around Excalidraw, integrated with Supabase to save and sync your drawings seamlessly across different devices. It allows you to use Excalidraw anywhere while keeping your data available everywhere.
- Excalidraw Integration: Leverages the functionality of Excalidraw, a popular web-based drawing tool.
- Supabase Backend: Uses Supabase for authentication and storage, ensuring secure access and synchronization of your drawings.
- Cross-Platform Sync: Access your drawings from any device by securely saving them to your Supabase database.
- Excalidraw for providing the best open-source drawing tool. This wouldn't be possible without them (literally).
- Sign Up or Log In: Use the authentication flow provided by Supabase to sign up or log in.
- Create and Edit Drawings: Use the Excalidraw interface to create or edit drawings.
- Save Drawings: Drawings are automatically saved to your Supabase database.
- Access Anywhere: Log in from any device to access and sync your drawings.
To deploy the app, you can use platforms like Vercel or Netlify. We have set up a one-click deploy to Vercel.
If you want to deploy using Docker, you can use the provided docker-compose file, using the instruction in the Docker section.
If you'd like to build the app yourself, run:
bun run build
Deploy to other hosting providers by following their specific deployment instructions.
- Vite (React)
- Tailwind CSS with shadcn/ui
- Tanstack Query and Router
- Excalidraw
- Supabase
- Sentry
- Day.js
- Zod
- Bun
and many others.
Contributions are welcome! Please fork the repository and create a pull request with your changes. For major changes, please open an issue to discuss what you would like to change.
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Open a pull request
This is a visual of the Database Schema on Supabase. Read docs/supabase.md for more detailed information on how to set up Supabase to work with Draw.
Clone the repository:
git clone https://github.com/macintushar/draw.git
cd draw
Install dependencies:
bun install
Set up your environment variables:
Create a .env
file in the root directory and add your Supabase and Sentry credentials:
cp .env.example .env
Run the development server:
bun run dev
Your app will be available at http://localhost:5173.
This project is licensed under the MIT License. See the LICENSE file for more details.
If you have any questions or suggestions, feel free to reach out!