Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/athrala/ai-saas-content-generation-platform

A user-centric AI SaaS Platform, powered by Next.js 13 App Router. It can function as chatbot, image, music, code, and video generators
https://github.com/athrala/ai-saas-content-generation-platform

ai mysql nextjs13 openai prisma react replicate-api saas shadecn-ui stripe tailwindcss

Last synced: about 6 hours ago
JSON representation

A user-centric AI SaaS Platform, powered by Next.js 13 App Router. It can function as chatbot, image, music, code, and video generators

Awesome Lists containing this project

README

        

# A SaaS AI Platform with Next.js 13, React, Tailwind, Prisma, Stripe
Screenshot 2024-03-05 at 11 56 57 AM

This is a repository for Build a SaaS AI Platform with Next.js 13, React, Tailwind, Prisma, Stripe.

Features:

- Tailwind design
- Tailwind animations and effects
- Full responsiveness
- Clerk Authentication (Email, Google, 9+ Social Logins)
- Client form validation and handling using react-hook-form
- Server error handling using react-toast
- Image Generation Tool (Open AI)
- Video Generation Tool (Replicate AI)
- Conversation Generation Tool (Open AI)
- Music Generation Tool (Replicate AI)
- Page loading state
- Stripe monthly subscription
- Free tier with API limiting
- How to write POST, DELETE, and GET routes in route handlers (app/api)
- How to fetch data in server react components by directly accessing database (WITHOUT API! like Magic!)
- How to handle relations between Server and Child components!
- How to reuse layouts
- Folder structure in Next 13 App Router

### Prerequisites

**Node version 18.x.x**

### Cloning the repository

```shell
git clone https://github.com/athrala/AI-SaaS-Content-Generation-Platform.git
```

### Install packages

```shell
npm i
```

### Setup .env file

```js
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=
CLERK_SECRET_KEY=

NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/dashboard
NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/dashboard

OPENAI_API_KEY=
REPLICATE_API_TOKEN=

DATABASE_URL=

STRIPE_API_KEY=
STRIPE_WEBHOOK_SECRET=

NEXT_PUBLIC_APP_URL="http://localhost:3000"
```

### Setup Prisma

Add MySQL Database (I used PlanetScale)

```shell
npx prisma db push

```

### Start the app

```shell
npm run dev
```

## Available commands

Running commands with npm `npm run [command]`

| command | description |
| :-------------- | :--------------------------------------- |
| `dev` | Starts a development instance of the app |

## Feature demos
Screenshot 2024-03-05 at 11 57 29 AM

Screenshot 2024-03-05 at 11 57 50 AMScreenshot 2024-03-05 at 11 58 16 AM
Screenshot 2024-03-05 at 11 59 17 AM
Screenshot 2024-03-05 at 11 58 44 AM
Screenshot 2024-03-05 at 11 58 32 AM