Skip to content

Pawandasila/ai-image-editor

Repository files navigation

🎨 Pixora - AI-Powered Image Editor

A modern, full-stack AI image editing platform built with Next.js, featuring real-time canvas editing, AI-powered transformations, and professional-grade image processing tools.

Landing Page

πŸ“Έ Screenshots

πŸ–₯️ View Application Screenshots

Dashboard

Dashboard Project management and organization

Image Editor

Editor Interface Professional editing interface with AI tools

Adding a New Project

Adding New Project Creating new projects and managing folders

✨ Features

πŸ€– AI-Powered Tools

  • AI Enhance: Neural-powered image enhancement for quality improvement
  • AI Generate: Create stunning images from text prompts
  • Magic Erase: Intelligent object removal with context-aware filling
  • Super Scale: AI upscaling while preserving details
  • Background Removal: Precise background extraction

πŸŽ›οΈ Professional Editing Tools

  • Advanced Adjustments: Exposure, brightness, contrast, saturation, vibrance, hue rotation
  • Color Grading: Temperature control, sepia, grayscale effects
  • Detail Enhancement: Sharpen, blur, noise, gamma correction
  • Canvas Tools: Crop, resize, rotate, layers management
  • Text Tools: Typography with custom fonts and styling

πŸ“ Project Organization

  • Smart Folders: Create custom folders to organize your projects
  • Folder Navigation: Intuitive sidebar navigation with breadcrumb trails
  • Project Assignment: Assign projects to folders during creation or move them later
  • Folder Management: Create, rename, and delete folders with automatic project handling
  • Visual Organization: Clean dashboard view showing projects by folder or all projects

πŸš€ Platform Features

  • Project Organization: Folder-based project management with drag-and-drop organization
  • Real-time Collaboration: Live canvas updates
  • Cloud Storage: Secure project saving with Convex database
  • Image Pipeline: ImageKit integration for optimized processing
  • Authentication: Clerk-powered user management
  • Subscription Plans: Free and Pro tiers with usage tracking
  • Responsive Design: Works seamlessly on desktop and mobile

πŸ› οΈ Tech Stack

  • Frontend: Next.js 14, React 18, Tailwind CSS
  • Canvas Engine: Fabric.js for advanced image manipulation
  • UI Components: Shadcn/ui with Radix primitives
  • Backend: Convex (real-time database and functions)
  • Authentication: Clerk (user management + billing)
  • Image Processing: ImageKit (CDN + transformations)
  • Styling: Tailwind CSS with custom design system
  • Icons: Lucide React

πŸš€ Quick Start

Prerequisites

  • Node.js 18+
  • npm or yarn
  • Git

Installation

  1. Clone the repository

    git clone https://github.com/yourusername/ai-image-editor.git
    cd ai-image-editor
  2. Install dependencies

    npm install
  3. Set up environment variables Copy the example environment file and fill in your values:

    cp .env.example .env.local

    Then edit .env.local with your actual API keys:

    # Convex Database
    CONVEX_DEPLOYMENT=your-deployment-name
    NEXT_PUBLIC_CONVEX_URL=https://your-deployment.convex.cloud
    
    # Clerk Authentication
    NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_test_...
    CLERK_SECRET_KEY=sk_test_...
    NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
    NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
    CLERK_JWT_ISSUER_DOMAIN=your-domain.clerk.accounts.dev
    
    # ImageKit CDN
    NEXT_PUBLIC_IMAGEKIT_PUBLIC_KEY=public_...
    NEXT_PUBLIC_IMAGEKIT_URL_ENDPOINT=https://ik.imagekit.io/your-id/
    IMAGEKIT_PRIVATE_KEY=private_...
    
    # Unsplash (Optional)
    NEXT_PUBLIC_UNSPLASH_ACCESS_KEY=your-access-key

    πŸ“ Note: See .env.example for detailed setup instructions and all available configuration options.

  4. Set up Convex

    npx convex dev
  5. Run the development server

    npm run dev
  6. Open your browser Navigate to http://localhost:3000

πŸ“ Project Structure

ai-image/
β”œβ”€β”€ app/                          # Next.js app directory
β”‚   β”œβ”€β”€ (auth)/                   # Authentication pages
β”‚   β”‚   β”œβ”€β”€ sign-in/
β”‚   β”‚   └── sign-up/
β”‚   β”œβ”€β”€ (main)/                   # Main application
β”‚   β”‚   β”œβ”€β”€ dashboard/            # User dashboard
β”‚   β”‚   β”‚   └── _components/      # Dashboard components
β”‚   β”‚   β”‚       β”œβ”€β”€ folder-sidebar.jsx      # Folder navigation
β”‚   β”‚   β”‚       β”œβ”€β”€ new-project-modal.jsx   # Project creation with folder support
β”‚   β”‚   β”‚       β”œβ”€β”€ project-grid.jsx        # Project display grid
β”‚   β”‚   β”‚       └── project-card.jsx        # Individual project cards
β”‚   β”‚   └── editor/[projectId]/   # Image editor
β”‚   β”œβ”€β”€ api/                      # API routes
β”‚   └── globals.css               # Global styles
β”œβ”€β”€ components/                   # Reusable components
β”‚   β”œβ”€β”€ ui/                       # Base UI components
β”‚   β”œβ”€β”€ features.jsx              # Landing page features
β”‚   β”œβ”€β”€ pricing.jsx               # Pricing section
β”‚   └── ...
β”œβ”€β”€ convex/                       # Backend functions & schema
β”‚   β”œβ”€β”€ projects.js               # Project CRUD & folder operations
β”‚   β”œβ”€β”€ users.js                  # User management & plan handling
β”‚   └── schema.js                 # Database schema (users, projects, folders)
β”œβ”€β”€ context/                      # React contexts
β”œβ”€β”€ hooks/                        # Custom React hooks
β”œβ”€β”€ lib/                          # Utility functions
└── public/                       # Static assets

🎨 Key Components

Dashboard & Organization

  • Folder Sidebar: Hierarchical project organization with folder management
  • Project Grid: Visual project browser with folder filtering
  • Breadcrumb Navigation: Clear navigation path showing current folder location
  • Project Assignment: Seamless project-to-folder assignment during creation

Canvas Editor

  • Fabric.js Integration: Advanced canvas manipulation
  • Real-time Updates: Live collaboration features
  • Layer Management: Object hierarchy and organization
  • Tool System: Modular editing tools architecture

AI Tools System

  • Pluggable Architecture: Easy to add new AI features
  • Processing Queue: Background job management
  • Progress Tracking: Real-time operation status
  • Error Handling: Robust error recovery

Image Pipeline

  • Upload Processing: Multi-format support
  • Transformation Chain: Non-destructive editing
  • Optimization: Automatic quality and size optimization
  • CDN Integration: Global image delivery

πŸ”§ Configuration

Database Schema

The application uses Convex with the following main tables:

  • users: User profiles and subscription data
  • projects: Image editing projects and canvas state
  • folders: Project organization and folder management

Plan Limits

  • Free Plan: 3 projects, 20 exports/month, basic tools
  • Pro Plan: Unlimited projects/exports, all AI features

🚒 Deployment

Vercel (Recommended)

  1. Push your code to GitHub
  2. Connect your repository to Vercel
  3. Add environment variables in Vercel dashboard
  4. Deploy automatically on every push

Manual Deployment

npm run build
npm start

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Make your changes and commit: git commit -m 'Add amazing feature'
  4. Push to the branch: git push origin feature/amazing-feature
  5. Open a Pull Request

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

  • Fabric.js for the powerful canvas library
  • ImageKit for image processing and CDN
  • Convex for the real-time backend
  • Clerk for authentication and billing
  • Shadcn/ui for beautiful UI components

πŸ“ž Support


Made with ❀️ by the Pixora Team

About

This is an ai image editor where you can edit your images online with features like background removal, crop light adjusting and all

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors