A Full Stack AI-powered application for generating online courses, built using Next.js, React, Node.js, and TailwindCSS. This project leverages the Gemini API for AI-based course content generation, Clerk for user authentication, and Drizzle ORM with PostgreSQL for database management.
- AI-Powered Course Generation: Automatically generate course layouts, including chapters and descriptions, using the Gemini API.
- User Authentication: Secure login and sign-up with Clerk, including Google Sign-In integration.
- Course Customization: Edit course titles, descriptions, chapters, and upload banner images.
- Video Integration: Generate videos for each course chapter using the YouTube API.
- Shareable URL: Each generated course comes with a unique, shareable URL that doesn’t require user authentication to view.
- Database Management: Drizzle ORM with PostgreSQL is used to store course data.
- Image Storage: Course banners are stored using Firebase.
- Responsive UI: Designed with TailwindCSS and enhanced using components from ShadCN for a clean and responsive user interface.
- Free & Upgradeable: Users can generate up to five courses for free, with an option to upgrade for unlimited course creation.
- Frontend: Next.js, React, TailwindCSS
- Backend: Node.js, Gemini API, Drizzle ORM, PostgreSQL
- Authentication: Clerk (Google Sign-In, Email/Password)
- Image Storage: Firebase
- Video Generation: YouTube API
- Deployment: Vercel
Make sure you have the following installed on your system:
-
Clone the repo:
git clone https://github.com/your-username/ai-course-generator.git cd ai-course-generator ```
-
Install dependencies:
npm install -
Set up environment variables:
Create a .env.local file and add your API keys and environment configurations:
NEXT_PUBLIC_GEMINI_API_KEY=your-gemini-api-key
NEXT_PUBLIC_CLERK_FRONTEND_API=your-clerk-frontend-api
NEXT_PUBLIC_YOUTUBE_API_KEY=your-youtube-api-key
DATABASE_URL=your-postgresql-url
FIREBASE_API_KEY=your-firebase-api-key
-
Run the development server:
npm run dev
Open http://localhost:3000 to view the app. -
Deployment
This project is deployed via Vercel. For deploying your own version, follow these steps: Push your code to GitHub. Connect your GitHub repository to Vercel. Set your environment variables on Vercel. Deploy the app with a single click!
Website Images:
Home Page:
Create Course Page:
Course Layout:
Course Link:
Final Generated Course:
