A full-stack student productivity platform built with Nuxt 3, integrating AI-powered study tools, assignment planning, mood tracking, and task management.
- 📚 Study Guide Generator: Transform notes into comprehensive study guides with summaries, flashcards, and practice questions
- 📝 Assignment Planner: Generate structured outlines, slide decks, and time plans for assignments
- 🧠 Spaced Repetition: Smart flashcard system with SRS algorithm for optimal learning
- 📊 Mood Journal: Track wellbeing with AI-powered burnout risk analysis
- ✅ Task Management: Organize and track study tasks with deadlines
- 🤖 AI-Powered: All features powered by Cerebras AI with load-balanced API keys
- Frontend: Nuxt 3, Vue 3, TypeScript, Tailwind CSS, shadcn-vue
- Backend: Nuxt Nitro server routes
- Database: Supabase (PostgreSQL)
- Authentication: Clerk
- AI: Cerebras Cloud SDK (8 API keys for load balancing)
npm installCopy .env.example to .env and fill in your credentials:
cp .env.example .envRequired variables:
SUPABASE_URL: Your Supabase project URLSUPABASE_ANON_KEY: Supabase anonymous keySUPABASE_SERVICE_KEY: Supabase service role keyNUXT_PUBLIC_CLERK_PUBLISHABLE_KEY: Clerk publishable keyCLERK_SECRET_KEY: Clerk secret key
Run the SQL schema in your Supabase project:
# Copy the contents of supabase/schema.sql
# Paste into Supabase SQL Editor and runOr use the Supabase CLI:
supabase db pushnpm run devThe app will be available at http://localhost:3000
POST /api/notes/upload- Upload a noteGET /api/notes- List all notesGET /api/notes/:id- Get note detailsDELETE /api/notes/:id- Delete a note
POST /api/ai/study-guide- Generate study guide from notesPOST /api/ai/assignment-outline- Generate assignment outlinePOST /api/ai/generate-questions- Generate practice questionsPOST /api/ai/analyze-mood- Analyze mood and assess burnout risk
GET /api/tasks- List tasksPOST /api/tasks- Create taskPATCH /api/tasks/:id- Update taskDELETE /api/tasks/:id- Delete task
GET /api/journal- List journal entriesPOST /api/journal- Create journal entryDELETE /api/journal/:id- Delete journal entry
GET /api/study-guides- List study guidesGET /api/study-guides/:id- Get study guide details
GET /api/flashcards- List flashcardsPATCH /api/flashcards/:id/review- Review flashcard (SRS update)
GET /api/dashboard- Get dashboard overview
GET /api/settings- Get user settingsPATCH /api/settings- Update settings
Run the API test script:
npx tsx test-api.tsThis will test all major endpoints including:
- Note creation
- Study guide generation
- Task management
- Journal entries
- AI-powered features
The platform uses the following main tables:
users- User profilesnotes- Uploaded study notesstudy_guides- Generated study guidesflashcards- Spaced repetition flashcardsassignments- Assignment outlines and plansjournals- Mood journal entriestasks- Task managementsessions- Pomodoro sessionsai_jobs- AI generation job logssettings- User preferences
All AI features use Cerebras Cloud SDK with automatic load balancing across 8 API keys:
- Study Guide Generation: Transforms notes into structured study materials
- Assignment Outlining: Creates comprehensive assignment plans
- Question Generation: Generates practice questions from any text
- Burnout Analysis: Assesses mental health and provides suggestions
- All API keys stored server-side
- Row Level Security (RLS) enabled on all tables
- JWT-based authentication via Clerk
- Rate limiting on AI endpoints
- Daily AI quota per user (default: 50 requests)
# Start dev server
npm run dev
# Build for production
npm run build
# Preview production build
npm run previewMIT