a SAAS AI Platform for text, image, video, music and code generation
- Frontend Framework: Next.js - server actions
- Styling: Tailwind CSS
- ORM: Prisma ORM
- Database: MySQL
- Authentication: Auth.js
- Data Fetching and Query: SWR
- State Management: Zustand
- UI Components: Shadcn
- Payment: Stripe
-
- AI: OpenAI, Replicate
NODE_ENV="development"
DATABASE_URL=
AUTH_SECRET=<your_auth_secret_key>
# Auth Providers
GITHUB_CLIENT_ID=<your_github_client_id>
GITHUB_CLIENT_SECRET=<your_github_client_secret>
GOOGLE_CLIENT_ID=<your_google_client_id>
GOOGLE_CLIENT_SECRET=<your_google_client_secret>
# App URLs
NEXT_PUBLIC_APP_MAIN_URL=<your_app_main_url>
NEXT_PUBLIC_APP_URL=<your_app_url>
# Stripe
STRIPE_PUBLISHED_KEY=<your_stripe_published_key>
STRIPE_SECRET_KEY=<your_stripe_secret_key>
STRIPE_WEBHOOK_SECRET=<your_stripe_webhook_secret>
-
Clone the repository:
git clone https://github.com/AbdelrahmanAbounida/innovai.git
-
Install dependencies:
cd innovai npm install
-
Set up the environment variables:
Create a
.env
file based on the provided template and set up the required environment variables. -
Run the development server:
bun run dev
-
Open the Application:
Open https://localhost:3000 in your browser to see the application.
- actions: Contains server actions.
- app: Main routes of the application.
- auth: Authentication-related routes.
- dashboard: Main routes of the application.
- api/auth/[...nextauth]: NextAuth.js authentication endpoint.
- components: Reusable UI components.
- const: Constants and configurations.
- hooks: Custom React hooks.
- lib: Utility functions and libraries.
- schemas: Prisma ORM schemas.