Collaborative Drawing Platform
Real-time collaborative drawing for teams
Built for creatives and collaborators
DrawBetter is a collaborative drawing application built with modern web technologies. It allows users to create, share, and organize drawings within organizations, with real-time collaboration powered by Convex and Liveblocks.
git clone https://github.com/ARYPROGRAMMER/DrawBetter.git
cd draw-betternpm installnpx convex dev --onceCreate .env.local file:
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
CLERK_SECRET_KEY=your_clerk_secret_key
NEXT_PUBLIC_CONVEX_URL=your_convex_deployment_url
NEXT_PUBLIC_LIVEBLOCKS_PUBLIC_KEY=your_liveblocks_public_keynpm run dev- Sign In: Authenticate with Clerk
- Create/Join Organization: Set up workspace
- Create Drawings: Use drawing tools
- Collaborate: Share with team members
- Organize: Use favorites and search
- Manage: Access dashboard
| Command | Description |
|---|---|
npm run dev |
Start development server |
npm run build |
Build for production |
npm run start |
Start production server |
npm run lint |
Run ESLint |
draw-better/
βββ app/ # Next.js app directory
β βββ (dashboard)/ # Dashboard pages
β βββ layout.tsx # Root layout
β βββ globals.css # Global styles
βββ components/ # UI components
β βββ ui/ # Base components (Shadcn/ui)
β βββ auth/ # Auth components
β βββ modals/ # Modal dialogs
βββ convex/ # Backend functions & schema
βββ hooks/ # Custom React hooks
βββ lib/ # Utilities
βββ providers/ # Context providers
βββ store/ # Zustand state management
βββ public/ # Static assets
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β DrawBetter Platform β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
β β Frontend β β Backend β β Database β β
β β β β β β β β
β β β’ Next.js β β β’ Convex β β β’ Convex DB β β
β β β’ React β β β’ API β β β’ Real-time β β
β β β’ TypeScriptβ β β’ Auth β β β’ Schema β β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
β β Security β β Monitoring β β CDN β β
β β β β β β β β
β β β’ Clerk β β β’ Analytics β β β’ Vercel β β
β β β’ Encryptionβ β β’ Logging β β β’ Assets β β
β β β’ RBAC β β β’ Metrics β β β’ Caching β β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
| Feature | Description |
|---|---|
| π¨ Collaborative Drawing | Create and edit drawings with real-time collaboration |
| π’ Organization Management | Organize drawings within workspaces |
| β Favorites System | Save and quickly access favorite creations |
| π Search Functionality | Find drawings by title within organizations |
| β‘ Live Updates | Real-time synchronization via Convex |
| π Authentication | Secure login with Clerk |
| π± Responsive Design | Works on desktop, tablet, and mobile |
| Component | Technology | Version |
|---|---|---|
| Framework | Next.js | 15.5.3 |
| Runtime | React | 19.1.0 |
| Language | TypeScript | 5.0 |
| Styling | Tailwind CSS | 4.0 |
| UI Components | Radix UI | Latest |
| Animations | Framer Motion | 12.23.22 |
| Icons | Lucide React | 0.544.0 |
| Component | Technology | Version |
|---|---|---|
| Database | Convex | 1.27.3 |
| Authentication | Clerk | 6.32.2 |
| State Management | Zustand | 5.0.8 |
| Component | Technology | Version |
|---|---|---|
| Linting | ESLint | 9.x |
| Build Tool | Next.js | 15.5.3 |
- Code Splitting: Automatic route-based splitting
- Image Optimization: Next.js Image component with WebP
- Bundle Analysis: Webpack bundle analyzer integration
- Caching Strategy: Aggressive caching with CDN
- Server-Side Rendering: ISR for dynamic content
- Edge Computing: Global CDN distribution
- Database Indexing: Optimized Convex queries
- Connection Pooling: Efficient resource management
- OAuth 2.0 Integration: Industry-standard authentication
- Role-Based Access Control: Granular permission management
- Multi-Factor Authentication: Enhanced security option
- Session Management: Secure token handling
- Encryption at Rest: AES-256 encryption for stored data
- TLS 1.3: End-to-end encrypted communications
- Data Sanitization: Input validation and XSS prevention
- Audit Logging: Comprehensive activity tracking
We welcome contributions from the community! Please see our Contributing Guide for detailed information on how to get started.
Please review our Code of Conduct to understand our community standards and expectations.
This project is licensed under the MIT License. See the LICENSE file for details.
- Advanced drawing tools (brushes, layers, effects)
- Voice/video collaboration features
- Advanced permission management
- Mobile native applications
- AI-powered drawing assistance
- Smart canvas analysis
- Multi-region deployment
- Advanced analytics dashboard
- Primary Contact: Arya Singh
- Email: arya.2023ug1104@iiitranchi.ac.in
- Issue Tracking: GitHub Issues
DrawBetterβ’ - Where Creativity Meets Collaboration
Licensed under MIT