A comprehensive full-stack AI SaaS application that empowers users to create content, generate images, and enhance their digital assets using cutting-edge artificial intelligence.
π Try Vector.AI Live
- Features
 - Tech Stack
 - Project Structure
 - Prerequisites
 - Installation
 - Environment Variables
 - Usage
 - API Endpoints
 - Database Schema
 - Contributing
 
- AI Article Writer: Generate high-quality, engaging articles with customizable length (500-1600+ words)
 - Blog Title Generator: Create catchy and SEO-optimized titles across 8 different categories
 - AI Image Generation: Produce stunning images from text prompts with 8+ artistic styles
 - Background Removal: Automatically remove backgrounds from images using AI
 - Object Removal: Seamlessly erase unwanted objects from photos
 - Resume Reviewer: Get AI-driven feedback and suggestions to improve your resume
 
- Authentication: Secure user management with Clerk
 - Dashboard: Personal workspace to view all your AI creations
 - Community Gallery: Share and discover AI-generated content from other users
 - Like System: Engage with community content through likes
 - Usage Plans: Free tier with limits + Premium unlimited access
 
- Responsive Design: Mobile-first approach with Tailwind CSS
 - Real-time Feedback: Toast notifications for all user actions
 - File Upload: Secure image and PDF upload functionality
 - Content Management: Publish/unpublish your creations
 - Database Persistence: All creations are stored and retrievable
 
- React 19 - Modern UI library
 - Vite - Fast build tool and development server
 - React Router DOM - Client-side routing
 - Tailwind CSS - Utility-first CSS framework
 - Axios - HTTP client for API requests
 - Lucide React - Beautiful icon library
 - React Hot Toast - Elegant notifications
 - React Markdown - Markdown rendering
 - Clerk - Authentication and user management
 
- Node.js - Runtime environment
 - Express.js - Web application framework
 - PostgreSQL - Primary database (via Neon)
 - Clerk Express - Authentication middleware
 - Cloudinary - Image storage and processing
 - Multer - File upload handling
 - OpenAI API - AI text generation (via Gemini)
 - ClipDrop API - AI image generation
 - PDF Parse - Resume processing
 
- Neon PostgreSQL - Serverless PostgreSQL database
 - Cloudinary - Cloud-based image and video management
 
AI SaaS/
βββ client/                     # Frontend React application
β   βββ public/                 # Static assets
β   βββ src/
β   β   βββ assets/            # Images, icons, and data
β   β   βββ components/        # Reusable UI components
β   β   β   βββ AiTools.jsx    # AI tools showcase
β   β   β   βββ CreationItem.jsx # Individual creation display
β   β   β   βββ Footer.jsx     # Site footer
β   β   β   βββ Hero.jsx       # Landing page hero
β   β   β   βββ Navbar.jsx     # Navigation bar
β   β   β   βββ Plan.jsx       # Pricing plans
β   β   β   βββ Sidebar.jsx    # Dashboard sidebar
β   β   β   βββ Testimonial.jsx # User testimonials
β   β   βββ pages/             # Application pages
β   β   β   βββ BlogTitles.jsx # Blog title generator
β   β   β   βββ Community.jsx  # Community gallery
β   β   β   βββ DashBoard.jsx  # User dashboard
β   β   β   βββ GenerateImages.jsx # Image generation
β   β   β   βββ Home.jsx       # Landing page
β   β   β   βββ Layout.jsx     # App layout wrapper
β   β   β   βββ RemoveBackground.jsx # Background removal
β   β   β   βββ RemoveObject.jsx # Object removal
β   β   β   βββ ReviewResume.jsx # Resume review
β   β   β   βββ WriteArticle.jsx # Article generation
β   β   βββ App.jsx            # Main app component
β   β   βββ index.css          # Global styles
β   β   βββ main.jsx           # App entry point
β   βββ .env                   # Environment variables
β   βββ package.json           # Dependencies and scripts
β   βββ vite.config.js         # Vite configuration
βββ server/                     # Backend Express application
β   βββ configs/               # Configuration files
β   β   βββ cloudinary.js      # Cloudinary setup
β   β   βββ db.js              # Database connection
β   β   βββ multer.js          # File upload config
β   βββ controllers/           # Route controllers
β   β   βββ aiController.js    # AI-related endpoints
β   β   βββ userController.js  # User-related endpoints
β   βββ middlewares/           # Custom middleware
β   β   βββ auth.js            # Authentication middleware
β   βββ routes/                # API routes
β   β   βββ aiRoutes.js        # AI endpoints routing
β   β   βββ userRoutes.js      # User endpoints routing
β   βββ package.json           # Dependencies and scripts
β   βββ server.js              # Express server setup
βββ README.md                   # Project documentation
Before running this application, make sure you have:
- Node.js (v18 or higher)
 - npm or yarn
 - PostgreSQL database (Neon recommended)
 - Clerk account for authentication
 - Cloudinary account for image storage
 - OpenAI API key (or Gemini API key)
 - ClipDrop API key for image generation
 
git clone https://github.com/aashutosh585/AI-SaaS.git
cd AI-SaaScd client
npm installcd ../server
npm installCreate a .env file in the client directory:
VITE_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
VITE_BASE_URL=http://localhost:3000Create a .env file in the server directory:
# Database
DATABASE_URL=your_neon_postgresql_connection_string
# Authentication
CLERK_SECRET_KEY=your_clerk_secret_key
CLERK_WEBHOOK_SECRET=your_clerk_webhook_secret
# AI Services
GEMINI_API_KEY=your_gemini_api_key
CLIPDROP_API_KEY=your_clipdrop_api_key
# Cloud Storage
CLOUDINARY_CLOUD_NAME=your_cloudinary_cloud_name
CLOUDINARY_API_KEY=your_cloudinary_api_key
CLOUDINARY_API_SECRET=your_cloudinary_api_secret
# Server
PORT=3000
NODE_ENV=development- Start the Backend Server:
 
cd server
npm run server- Start the Frontend Development Server:
 
cd client
npm run dev- Access the Application:
- Frontend: 
http://localhost:5173 - Backend API: 
http://localhost:3000 
 - Frontend: 
 
- Build the Frontend:
 
cd client
npm run build- Start the Production Server:
 
cd server
npm start| Method | Endpoint | Description | Auth Required | 
|---|---|---|---|
| POST | /generate-article | 
Generate articles with custom length | β | 
| POST | /generate-blog-title | 
Create blog titles by category | β | 
| POST | /generate-images | 
Generate images from text prompts | β | 
| POST | /remove-background | 
Remove image backgrounds | β | 
| POST | /remove-image-object | 
Remove objects from images | β | 
| POST | /resume-review | 
Analyze and review resumes | β | 
| Method | Endpoint | Description | Auth Required | 
|---|---|---|---|
| GET | /get-user-creations | 
Fetch user's all creations | β | 
| GET | /get-published-creations | 
Fetch public community creations | β | 
| POST | /toggle-like-creation | 
Like/unlike community creations | β | 
CREATE TABLE creations (
  id SERIAL PRIMARY KEY,
  user_id VARCHAR(255) NOT NULL,
  prompt TEXT NOT NULL,
  content TEXT NOT NULL,
  type VARCHAR(50) NOT NULL, -- 'article', 'blog-title', 'image'
  publish BOOLEAN DEFAULT false,
  likes TEXT[], -- Array of user IDs who liked
  created_at TIMESTAMP DEFAULT NOW(),
  updated_at TIMESTAMP DEFAULT NOW()
);- Generate articles from 500 to 1600+ words
 - Customizable prompts and topics
 - Markdown formatting support
 - Instant preview and editing
 
- 8 categories: General, Technology, Health, Lifestyle, Travel, Food, Education, Business
 - SEO-optimized suggestions
 - Multiple title variations per request
 
- 8 artistic styles: Realistic, Ghibli, Cartoon, Anime, Fantasy, 3D, Portrait
 - High-quality image output
 - Cloudinary integration for storage
 - Community sharing options
 
- AI-powered precision removal
 - Support for JPG, PNG formats
 - Real-time processing feedback
 - Download and save functionality
 
- Public gallery of user creations
 - Like and engagement system
 - Real-time updates
 - User authentication integration
 
npm run dev      # Start development server
npm run build    # Build for production
npm run preview  # Preview production build
npm run lint     # Run ESLintnpm run server   # Start with nodemon (development)
npm start        # Start production server- Fork the repository
 - Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
 
- Clerk for seamless authentication
 - OpenAI/Gemini for powerful AI capabilities
 - Cloudinary for reliable image processing
 - Neon for serverless PostgreSQL
 - Tailwind CSS for beautiful UI components
 
For support, email ashutoshmaurya585@gmail.com or join our Discord community.
Built with β€οΈ by Ashutosh Maurya