This is an image retouching application built using Next.js, Tailwind CSS, Shadcn, MongoDB, Clerk, and Stripe. The app leverages AI-based tools for image enhancement, including features such as image restoration, generative fill, object removal, object recoloring, and background removal.
- Image Restore: Recover and enhance old or damaged photos with advanced AI tools.
- Generative Fill: Automatically fill in missing parts of an image with seamlessly generated content.
- Object Remove: Remove unwanted objects from your images while maintaining a natural appearance.
- Object Recolor: Change the color of specific objects within your images with precision.
- Background Remove: Instantly remove backgrounds to isolate subjects and create polished images.
- Responsive Design: Fully optimized for all devices, ensuring a smooth user experience on mobile, tablet, and desktop.
- User Authentication: Secure login and registration using OAuth.
- Payment Integration: Simple and secure payment processing with Stripe for purchasing premium features.
To get started with the development server, follow these steps:
-
Clone the repository:
git clone https://github.com/aialvi/image-restore.git
-
Navigate into the project directory:
cd image-restore
-
Install dependencies:
npm install # or yarn install # or pnpm install # or bun install
-
Run the development server:
npm run dev # or yarn dev # or pnpm dev # or bun dev
-
Open your browser and go to:
http://localhost:3000
Create a .env.local
file in the root of your project and add the following variables:
#NEXT
NEXT_PUBLIC_SERVER_URL=http://localhost:3000
# Clerk
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=
CLERK_SECRET_KEY=
# Clerk URLs
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/
NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/
# Clerk Webhooks Secret
WEBHOOK_SECRET=
# MongoDB
MONGODB_URL=
# Cloudinary
NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME=
CLOUDINARY_API_KEY=
CLOUDINARY_API_SECRET=
#STRIPE
STRIPE_SECRET_KEY=
STRIPE_WEBHOOK_SECRET=
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=