Skip to content

studybuddydevelopers/study-buddy-v2

Repository files navigation

Study Buddy v2

Study Buddy v2 is a Next.js learning platform for exam preparation. It combines practice questions, mock exams, progress tracking, AI-assisted study support, subscriptions, and school/admin workflows in a single app.

Stack

  • Next.js 16 App Router
  • React 18
  • TypeScript
  • Tailwind CSS
  • Prisma + PostgreSQL
  • Supabase Auth
  • OpenAI API

Core Product Areas

  • Study materials: subject/topic browsing and topic-level practice drills
  • Past questions: answer submission, grading, and explanations
  • Mock exams: start, save progress, submit, and grade full exam instances
  • Progress: subject progress, practice accuracy, and exam history
  • AI: quick chat, saved AI question threads, and study recommendations
  • Accounts and billing: auth, profile, subscriptions, and payments
  • Admin and schools: content upload, user lookup, and school membership management

Repo Shape

study-buddy-v2/
├── app/                 # Pages and API routes
├── components/          # Shared UI components
├── lib/                 # Auth, Prisma, Supabase, and feature helpers
├── prisma/              # Schema, migrations, and seed data
├── docs/                # Supporting documentation
└── public/              # Static assets

Main App Routes

  • / landing page
  • /dashboard
  • /materials
  • /materials/practice/[topicId]
  • /exams
  • /exams/[instanceId]
  • /progress
  • /chat
  • auth pages under /login, /sign-up, /forgot-password, /reset-password/update

API Surface

All app APIs live under app/api/v1.

Main domains:

  • auth and account
  • profile
  • schools
  • AI
  • past questions
  • mock exams
  • progress
  • subscriptions
  • payments
  • admin content

See app/api/v1/README.md for the route-level reference.

Database

The schema is defined in prisma/schema.prisma.

Key models:

  • User, UserProfile, AdminUser
  • Subject, Topic, PastQuestion
  • PastQuestionAttempt
  • MockExamTemplate, MockExamInstance, MockExamAnswer
  • AiQuestion, AiQuestionMessage, Recommendation
  • ProgressTrack
  • Subscription, Transaction
  • School, SchoolStudent

Local Setup

Install dependencies:

npm install

Run the app:

npm run dev

Apply migrations:

npx prisma migrate deploy

Generate Prisma client if the schema has changed:

npx prisma generate

Seed the database:

npx prisma db seed

Environment

The app expects environment variables for:

  • Supabase URL and anon key
  • database connection strings
  • OpenAI API key
  • payment provider secrets
  • optional cron secret for recommendation generation

Recommended Docs

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages