Thanks to visit codestin.com
Credit goes to github.com

Skip to content

A feature-rich graphic design SaaS platform with an intuitive editor for template customization, text/shape manipulation, and advanced drawing tools. Includes secure Stripe subscriptions and AI-powered image generation background removal. Built with Next.js 14, React, and TailwindCSS.

License

Notifications You must be signed in to change notification settings

Davronov-Alimardon/canva-clone

Repository files navigation

🎨 Canva Clone - Full-Featured Graphic Design SaaS Platform

canva-clone

A production-ready graphic design SaaS platform with an intuitive drag-and-drop editor, AI-powered features, and complete subscription management. Built with Next.js 14, Fabric.js canvas engine, Replicate AI, and Stripe payments.


πŸš€ Quick Start

New to this project? Follow our step-by-step setup guide:

Start here: 00-PREREQUISITES.md

Estimated setup time: ~90 minutes


✨ Key Features

  • 🎨 Professional Design Editor - Templates, text, shapes, drawing tools, and layers
  • πŸ€– AI-Powered Tools - Image generation and background removal
  • πŸ” Multi-Auth - Google, GitHub, and Email/Password
  • πŸ’³ Stripe Subscriptions - Complete payment management
  • πŸ“€ Export Options - PNG, JPG, SVG, JSON
  • πŸ“± Fully Responsive - Works on all devices
  • πŸ” Project Management - Create and organize multiple projects
  • 🎯 Unsplash Integration - Millions of free stock photos

πŸ› οΈ Tech Stack

Frontend: Next.js 14, React 18, TypeScript, TailwindCSS, Shadcn UI, Fabric.js
Backend: Hono.js, Drizzle ORM, Neon PostgreSQL, Auth.js
AI & Media: Replicate AI, Unsplash, UploadThing
Payments: Stripe
State: Zustand, TanStack Query


πŸ“‹ Prerequisites

Before starting, you need:

  • Node.js (v18+) or Bun
  • Git
  • Free accounts for: Neon, UploadThing, Replicate, Unsplash, Stripe, Google, GitHub

πŸ‘‰ See Prerequisites Guide for details


🎯 Setup Guide

Follow these guides in order:

  1. Prerequisites - What you need (2 min)
  2. Installation - Clone and install (5 min)
  3. Database Setup - Neon PostgreSQL (10 min)
  4. Unsplash API - Stock photos (5 min)
  5. UploadThing API - File uploads (5 min)
  6. Replicate API - AI features (10 min)
  7. Stripe Setup - Payments (20 min)
  8. Templates Setup - Design templates (15 min)
  9. GitHub OAuth - GitHub login (5 min)
  10. Google OAuth - Google login (10 min)
  11. Deployment - Deploy to Vercel (15 min)

Need help? Check Troubleshooting Guide


πŸ“¦ Quick Commands

# Install dependencies
bun install

# Setup database
bun run db:generate
bun run db:migrate

# Start development
bun dev

# Open database GUI
bun run db:studio

Full command reference: See Installation Guide


πŸ”§ Environment Variables

Create a .env file with these variables:

DATABASE_URL=
AUTH_SECRET=
NEXT_PUBLIC_APP_URL=http://localhost:3000
NEXT_PUBLIC_UNSPLASH_ACCESS_KEY=
UPLOADTHING_SECRET=
UPLOADTHING_APP_ID=
UPLOADTHING_TOKEN=
REPLICATE_API_TOKEN=
STRIPE_SECRET_KEY=
STRIPE_PRICE_ID=
STRIPE_WEBHOOK_SECRET=
GITHUB_CLIENT_ID=
GITHUB_CLIENT_SECRET=
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=

Detailed guide: Environment Variables Reference


πŸ’Ž Pro Features

Unlock with subscription:

  • ✨ Unlimited projects
  • 🎨 Premium templates
  • πŸ€– Unlimited AI generations
  • πŸ“€ High-resolution exports
  • πŸ’Ύ Priority support

πŸ“š Documentation


πŸŽ“ Learn More


πŸ™ Credits

Course: YouTube/Original Tutorial (18-hour course)
Creator: Code With Antonio
Deployment: Vercel
UI Components: Shadcn


πŸ“ License

This project is based on the tutorial by Antonio Erdeljac.


⭐ Support

If you found this project helpful, please give it a star!

Need help?


Ready to start? β†’ Begin with Prerequisites Guide πŸš€

About

A feature-rich graphic design SaaS platform with an intuitive editor for template customization, text/shape manipulation, and advanced drawing tools. Includes secure Stripe subscriptions and AI-powered image generation background removal. Built with Next.js 14, React, and TailwindCSS.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages