An open API service indexing awesome lists of open source software.

https://github.com/yukti-says/imagify

Imagify is a full-stack SaaS platform that allows users to generate AI-powered images with ease. Users can sign up, choose a subscription plan, generate high-quality visuals, and manage their usageβ€”all in one place.
https://github.com/yukti-says/imagify

context-api express full-stack-web-development fullstack-development javascript jwt nodejs reactjs reastful-api

Last synced: 8 months ago
JSON representation

Imagify is a full-stack SaaS platform that allows users to generate AI-powered images with ease. Users can sign up, choose a subscription plan, generate high-quality visuals, and manage their usageβ€”all in one place.

Awesome Lists containing this project

README

          

# 🎨 Imagify – Text-to-Image SaaS App

**Imagify** is a full-stack SaaS web application that allows users to generate high-quality AI images from text prompts using the [ClipDrop API](https://clipdrop.co/apis). Users receive **10 free credits** upon signup, and can use each credit to generate an image. Designed with a modern UI, it uses **React + Framer Motion** for animation and **Node.js + Express + MongoDB** for the backend, authentication, and credit management.

> πŸ’‘ Razorpay payment integration and CI/CD pipeline are planned for future updates.

---

## 🌐 Live Demo

- **Frontend**: [https://imagify-m5vmcyea9-yukti-sahus-projects.vercel.app](https://imagify-m5vmcyea9-yukti-sahus-projects.vercel.app)
- **Backend API**: [https://imagify-n158.onrender.com](https://imagify-n158.onrender.com)

---

## 🧩 Tech Stack

| Layer | Technology |
|---------------|----------------------------------------------|
| **Frontend** | Vite + React, React Router, Framer Motion |
| **Backend** | Node.js, Express, JWT |
| **Database** | MongoDB + Mongoose |
| **API** | [ClipDrop API](https://clipdrop.co/apis) |
| **Styling** | Tailwind CSS, Gradient background, Toastify |
| **Deployment**| Vercel (frontend), Render (backend) |

---

## πŸš€ Features

- πŸ” **User Authentication**
- Signup/Login with JWT tokens
- Auth state handled via context
- 🎁 **Free Credits**
- 10 free credits on signup
- Each image costs 1 credit
- 🧠 **AI Image Generation**
- Prompt-based generation using ClipDrop API
- πŸ’¬ **Notifications**
- Toast-based real-time alerts
- 🎨 **Animated & Responsive UI**
- Built with TailwindCSS + Framer Motion
- πŸ“¦ **Modular Code Structure**
- Clean folder layout: `pages/`, `components/`, `context/`, `api/`, etc.

---

# πŸ“¦ Imagify Project Structure

```
Imagify/
β”œβ”€β”€ client/
β”‚ β”œβ”€β”€ components/
β”‚ β”œβ”€β”€ pages/
β”‚ β”œβ”€β”€ context/
β”‚ β”œβ”€β”€ App.jsx
β”‚ β”œβ”€β”€ main.jsx
β”‚ └── .env
β”œβ”€β”€ server/
β”‚ β”œβ”€β”€ controllers/
β”‚ β”œβ”€β”€ models/
β”‚ β”œβ”€β”€ routes/
β”‚ β”œβ”€β”€ middleware/
β”‚ β”œβ”€β”€ index.js
β”‚ └── .env
```

---

## πŸ› οΈ How to Run Locally

### 1. Clone the Repo

```bash
git clone https://github.com/yukti/imagify.git
cd imagify
```

### 2. Set Up Backend

```bash
cd server
npm install
```

Create a `.env` file in the `server` folder:

```env
PORT=5000
MONGO_URI=your_mongodb_uri
CLIPDROP_API_KEY=your_clipdrop_key
JWT_SECRET=your_jwt_secret
```

Start the backend:

```bash
npm start
```

### 3. Set Up Frontend

```bash
cd ../client
npm install
```

Create a `.env` file in the `client` folder:

```env
VITE_BACKEND_URL=http://localhost:3000
```

Start the frontend:

```bash
npm run dev
```

Visit: [http://localhost:5173](http://localhost:5173)

---

## 🌐 Deployment

| Platform | Use | URL |
|----------|----------|-------------------------------------|
| Vercel | Frontend | imagify-m5vmcyea9.vercel.app |
| Render | Backend | imagify-n158.onrender.com |

---

## πŸ“Œ Planned Features

- πŸ’³ Razorpay Integration for Credit Purchases
- πŸͺ„ Image download, history & save feature
- πŸ“Š Usage analytics dashboard
- ✨ Prompt enhancement suggestions
- πŸ” Admin panel for user management
- πŸš€ CI/CD with GitHub Actions for auto-deploy

---

## πŸ‘©β€πŸ’» What I Learned

While building Imagify, I learned how to:

- Architect a full-stack SaaS app with real-world functionality
- Handle JWT-based auth and secure API routes
- Connect and use the ClipDrop API for real-time image generation
- Structure codebases cleanly for frontend and backend separation
- Deploy apps on Vercel and Render, managing environment variables securely
- Create a smooth, responsive UI with Tailwind and Framer Motion
- Use context API for global auth and modal state management
- Plan for scalability with modular backend design

---

## 🧠 Credits & API

- ClipDrop API for AI image generation – [clipdrop.co/apis](https://clipdrop.co/apis)
- Inspired by AI SaaS projects & indie devs building in public

---

## πŸ“„ License

This project is licensed under the MIT License.

---

## πŸ™‹β€β™€οΈ Developed by

Yukti Sahu