Skip to content

Latest commit

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

FrostAI

An AI-powered content creation SaaS platform providing tools for article writing, blog title generation, image generation, background removal, object removal, and resume review.

Features

FeatureDescriptionPlan
Article WriterGenerate comprehensive articles with configurable lengthFree (10 uses)
Blog Title GeneratorCreate SEO-friendly blog titles with category selectionFree (10 uses)
Image GeneratorGenerate images from text descriptions with style optionsPremium
Background RemovalRemove backgrounds from uploaded imagesPremium
Object RemovalRemove specified objects from uploaded imagesPremium
Resume ReviewUpload a PDF resume for AI-powered analysisPremium
CommunityBrowse and like publicly shared creationsPremium

Tech Stack

Frontend: React, Vite, Tailwind CSS, React Router, Clerk (auth), Axios, React Hot Toast

Backend: Node.js, Express, Google Gemini (AI text), ClipDrop API (image generation), Cloudinary (image processing), Neon PostgreSQL, Clerk (auth), Multer (file uploads)

Getting Started

Prerequisites

  • Node.js 18+
  • npm
  • Accounts: Clerk, Google AI Studio (Gemini), ClipDrop, Cloudinary, Neon

Installation

# Clone the repository
git clone https://github.com/yourusername/FROST-AI.git
cd FROST-AI
# Install server dependenciescd server
npm install
# Install client dependenciescd ../client
npm install

Environment Variables

Server (server/.env):

DATABASE_URL=your_neon_database_urlCLERK_SECRET_KEY=your_clerk_secret_keyCLERK_PUBLISHABLE_KEY=your_clerk_publishable_keyGEMINI_API_KEY=your_gemini_api_keyCLIPDROP_API_KEY=your_clipdrop_api_keyCLOUDINARY_CLOUD_NAME=your_cloudinary_cloud_nameCLOUDINARY_API_KEY=your_cloudinary_api_keyCLOUDINARY_API_SECRET=your_cloudinary_api_secret

Client (client/.env):

VITE_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_keyVITE_BASE_URL=http://localhost:3000

Running Locally

# Start server (from server/ directory)
npm run server
# Start client (from client/ directory)
npm run dev

The client runs on http://localhost:5173 and proxies API requests to the server on port 3000.

Project Structure

FROST-AI/
├── client/ # React frontend
│ ├── src/
│ │ ├── components/ # Reusable UI components
│ │ ├── pages/ # Route pages
│ │ ├── assets/ # Images, icons, data
│ │ ├── App.jsx # Route definitions
│ │ └── main.jsx # Entry point with ClerkProvider
│ └── vite.config.js
│
└── server/ # Express backend
├── configs/ # DB, Cloudinary, Multer config
├── controllers/ # AI & user route handlers
├── middlewares/ # Auth middleware
├── routes/ # API route definitions
└── server.js # Express entry point

API Endpoints

MethodEndpointDescription
GET/Health check
POST/api/ai/generate-articleGenerate article (free: 10 uses)
POST/api/ai/generate-blog-titleGenerate blog titles (free: 10 uses)
POST/api/ai/generate-imageGenerate image (premium)
POST/api/ai/remove-image-backgroundRemove image background (premium)
POST/api/ai/remove-image-objectRemove object from image (premium)
POST/api/ai/resume-reviewReview PDF resume (premium)
GET/api/user/get-user-creationsGet user's creations
GET/api/user/get-published-creationsGet public creations
POST/api/user/toggle-like-creationLike/unlike a creation

Deployment

Both client and server are configured for Vercel deployment via vercel.json files in each directory.

License

ISC

About

A complete Full-Stack AI SaaS Application built using the PERN stack . Features AI integration, secure Clerk authentication, image generation, and a responsive Tailwind dashboard.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages