Skip to content

omkarspace/coursei.ai

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

133 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Coursei.ai Logo

Coursei.ai

The open-source learning platform powered by AI.
Create courses, quizzes, flashcards, and study notes in minutes.

Live Demo · Report Bug · Contribute

Next.js React Tailwind License PRs Welcome


Features

AI-Powered Tools

  • AI Course Generator — Generate full course structures with Gemini in seconds
  • AI Quiz Generator — Auto-generate multiple-choice and short-answer questions
  • AI Flashcards — Leitner-system spaced repetition cards for retention
  • AI Study Notes — Summaries, key points, and term definitions
  • AI Study Buddy — Context-aware chatbot for each course

Platform

  • Course Forking — Customize public courses like GitHub repos
  • Community Marketplace — Browse, filter, and upvote shared courses
  • Export Options — PDF, Markdown, SCORM/xAPI packages
  • Dark Mode — Full dark mode with system preference detection
  • Mobile First — Responsive design across all devices

Technical

  • Server Actions — Secure, authenticated database mutations
  • Image Uploads — Cloudinary-powered course banner uploads
  • Real-time Updates — Instant UI updates after mutations
  • Type Safety — ESLint + Next.js type checking

Tech Stack

Category Technology
Framework Next.js 15 (App Router)
UI React 18, Tailwind CSS, shadcn/ui
Auth Clerk
AI Google Gemini 2.0 Flash
Database Neon PostgreSQL + Drizzle ORM
Storage Cloudinary (unsigned uploads)
Deployment Vercel

Getting Started

Prerequisites

Installation

# 1. Clone the repository
git clone https://github.com/omkarspace/coursei.ai.git
cd coursei.ai

# 2. Install dependencies
npm install

# 3. Set up environment variables
cp .env.example .env
# Fill in your API keys (see Environment Variables below)

# 4. Push database schema
npm run db:push

# 5. Start development server
npm run dev

Open http://localhost:3000

Environment Variables

Variable Required Description
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY Yes Clerk publishable key
CLERK_SECRET_KEY Yes Clerk secret key
NEXT_PUBLIC_GEMINI_API_KEY Yes Google Gemini API key
DATABASE_URL Yes Neon PostgreSQL connection string
NEXT_PUBLIC_HOST_NAME Yes App URL (e.g., http://localhost:3000)
NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME Yes Cloudinary cloud name
NEXT_PUBLIC_CLOUDINARY_UPLOAD_PRESET Yes Cloudinary unsigned upload preset
NEXT_PUBLIC_YOUTUBE_API_KEY No YouTube API key (for video search)

Project Structure

coursei.ai/
├── app/
│   ├── _components/          # Shared UI components
│   │   ├── Navbar.jsx        # Sticky navigation
│   │   ├── Hero.jsx          # Landing page hero
│   │   ├── Features.jsx      # Feature cards
│   │   ├── Pricing.jsx       # Pricing plans
│   │   ├── FAQ.jsx           # Accordion FAQ
│   │   ├── QuizGenerator.jsx # AI quiz UI
│   │   ├── Flashcards.jsx    # 3D flip flashcards
│   │   ├── StudyNotes.jsx    # AI study notes
│   │   └── ThemeToggle.jsx   # Dark mode toggle
│   ├── actions/              # Server Actions (DB mutations)
│   ├── create-course/        # Course creation wizard
│   ├── course/               # Public course viewing
│   ├── dashboard/            # User dashboard
│   └── sign-in/              # Auth pages
├── configs/
│   ├── schema.jsx            # Drizzle DB schema (5 tables)
│   ├── AiModel.jsx           # Gemini AI chat sessions
│   └── cloudinary.js         # Cloudinary config
├── lib/                      # Utility functions
├── components/ui/            # shadcn/ui components
└── public/                   # Static assets

Database Schema

Table Description
CourseList Course metadata, banners, ownership
Chapters Chapter content per course
Quizzes Generated quiz questions
Flashcards Generated flashcard decks
StudyNotes Generated study notes

Available Scripts

Command Description
npm run dev Start development server
npm run build Build for production
npm run start Start production server
npm run lint Run ESLint
npm run db:push Push database schema
npm run db:studio Open Drizzle Studio

Contributing

We welcome contributions! Please read our Contributing Guide for details on:

  • Setting up the development environment
  • Branch naming conventions
  • Pull request process
  • Code style guidelines

License

This project is licensed under the MIT License — see the LICENSE file for details.


Built with ❤️ by Omkar

About

Full Stack AI Course Generator leveraging Next.js, React, TailwindCSS, Drizzle ORM, and Gemini API. Generates dynamic, AI-driven course content with customizable modules. (This GitHub project is intended solely for learning purposes and is not for profit.)

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors