Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

527 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿš€ Study Planner & AI Mastery Platform

License: MIT TypeScript React Vite Tailwind CSS Supabase

A comprehensive, full-stack learning management, language coaching, and productivity application. Built to empower students preparing for IELTS (Band 5.0 - 9.0) and JLPT (N5 - N1 / 0-Level Beginners) with AI-driven study planning, Anki SM-2 spaced repetition, real-time audio coaching, and collaborative whiteboards.


๐Ÿ‡บ๐Ÿ‡ฟ O'zbekcha Qisqacha Sharh (Uzbek Summary)

Study Planner โ€” O'quvchilar va mutaxassislarga IELTS va Yapon tili (JLPT) imtihonlariga noldan boshlab tayyorlanishda yordam beradigan eng zamonaviy platforma.

โœจ Asosiy Imkoniyatlar:

  • ๐ŸŽ“ IELTS & JLPT Hub: 1 yoshdan 12 oygacha bo'lgan dars rejasi kalkulyatori va 0 Level (Noldan) boshlovchilar rejimi.
  • โšก Anki SM-2 Fleshkartalar: 1,646 ta A1-A2, 1,201 ta B1-B2 va 388+ C1-C2 so'zlarini 1 soniyada yuklaydigan super-tezkor bulk batch tizimi.
  • ๐ŸŽ™๏ธ AI Speaking & Voice Coach: Ovozli muloqot, real-vaqtda talaffuz xatolarini tuzatish (IELTS Examiner, Strict Roast, Sabrli Tutor va IT Intervyu personalari).
  • ๐Ÿ“ฆ Dynamic JSON Chunking: JS bundle hajmini 1MB dan 1.6KB gacha tushirgan dynamic import() arxitekturasi.
  • ๐ŸŽจ Interaktiv O'quv Xonasi: P2P video muloqot, WebRTC va tldraw yordamida real-vaqtdagi umumiy doska (Whiteboard).

๐Ÿ‡ฏ๐Ÿ‡ต ๆ—ฅๆœฌ่ชžใฎๆฆ‚่ฆ (Japanese Overview)

ใ€ŒStudy Plannerใ€ใฏใ€IELTSใƒปJLPT๏ผˆN5ใ€œN1ใƒปๅˆๅญฆ่€…0ใƒฌใƒ™ใƒซ๏ผ‰ใฎๅˆๆ ผใ‚’็›ฎๆŒ‡ใ™ๅญฆ็ฟ’่€…ใฎใŸใ‚ใฎใƒ•ใƒซใ‚นใ‚ฟใƒƒใ‚ฏๅญฆ็ฟ’็ฎก็†ใƒปAIใ‚ณใƒผใƒใƒณใ‚ฐใƒ—ใƒฉใƒƒใƒˆใƒ•ใ‚ฉใƒผใƒ ใงใ™ใ€‚

  • AIไผš่ฉฑใ‚ณใƒผใƒ (Voice AI Coach): ้Ÿณๅฃฐ่ช่ญ˜ใจAIใ‚’ๆดป็”จใ—ใŸๆ—ฅๆœฌ่ชžใƒป่‹ฑ่ชžใฎใƒชใ‚ขใƒซใ‚ฟใ‚คใƒ ้ขๆŽฅใƒปไผš่ฉฑใ‚ทใƒŸใƒฅใƒฌใƒผใ‚ฟใƒผใ€‚
  • SM-2ๆš—่จ˜ใ‚ซใƒผใƒ‰ใ‚ทใ‚นใƒ†ใƒ  (Anki Flashcards): 3,000่ชžไปฅไธŠใฎ่ชžๅฝ™ใ‚’็žฌๆ™‚ใซใƒญใƒผใƒ‰ใ™ใ‚‹่ถ…้ซ˜้€Ÿใƒใƒซใ‚ฏใƒใƒƒใƒใ‚คใƒณใƒใƒผใƒˆๆฉŸ่ƒฝใ€‚
  • ใƒชใ‚ขใƒซใ‚ฟใ‚คใƒ ๅญฆ็ฟ’ใƒซใƒผใƒ  (Study Room): WebRTCใƒ“ใƒ‡ใ‚ช้€š่ฉฑใŠใ‚ˆใณ tldraw ๅ…ฑๆœ‰ใƒ›ใƒฏใ‚คใƒˆใƒœใƒผใƒ‰ใ€‚

โœจ Key Features

๐ŸŽ“ 1. IELTS & JLPT Smart Onboarding & Calculator

  • Dynamic 1-12 Month Slider: Interactive plan duration selector with quick preset pills (1 Oy, 2 Oy, 3 Oy, 4 Oy โญ, 6 Oy, 12 Oy).
  • Complete Beginner Support: ๐ŸŒฑ 0 Level (Noldan) mode tailored for users starting Japanese or English from scratch.
  • Feasibility Engine: Real-time calculation of required daily study hours based on CEFR & JLPT target hours.

โšก 2. Anki SM-2 Spaced Repetition & High-Performance Deck Library

  • Pre-Loaded Standard Preset Decks:
    • ๐ŸŒฑ A1-A2 Starter Vocabulary: 1,646 flashcards
    • ๐Ÿ“ˆ B1-B2 Pre-IELTS Academic Vocab: 1,201 flashcards
    • ๐Ÿ“™ C1-C2 Master IELTS Collocations: 388+ flashcards
  • Supercharged Batch Import: addFlashcardsBatch chunked at 200 items/query, saving 1,600+ cards in < 1 second.
  • 1-Click Card Population: Instant "To'plam Kartochkalarini Yuklash" action button directly on deck cards.

๐ŸŽ™๏ธ 3. Real-Time AI Speaking & Voice Coach

  • Multi-Persona AI Examiners:
    • ๐ŸŒถ๏ธ Strict Roast Coach (harsh feedback)
    • ๐ŸŒฟ Sabrli Tutor (gentle explanation)
    • ๐ŸŽ“ IELTS Examiner (standard band 9 score assessment)
    • ๐Ÿ’ผ Tech Interviewer (IT job interview prep)
    • โœˆ๏ธ Travel & Airport & โ˜• Casual Friend
  • Speech Tech: Powered by Web Speech API, OpenAI TTS, and Live Ambient Sphere audio visualization.

๐Ÿ‘ฅ 4. Real-Time Collaboration & Whiteboard (Study Room)

  • WebRTC P2P Video/Audio: Multi-user study rooms with screen sharing.
  • Synchronized Whiteboard: Integrated tldraw infinite canvas canvas for collaborative mind mapping.
  • Shared Pomodoro: Group focus timer with synchronous state.

๐Ÿ› ๏ธ Technology Stack & Performance

Layer Technologies
Frontend React 18 (Vite), TypeScript (Strict), Tailwind CSS, Framer Motion, Lucide Icons
Backend & Auth Supabase (PostgreSQL, Row Level Security, Realtime Channels)
AI Core OpenAI GPT-4o / DeepSeek API / Gemini 2.0 Flash, OpenAI TTS Engine
State & Routing React Context API, React Router v6, PWA Service Worker (VitePWA)
Performance Dynamic import() deck JSON chunking, Lazy-loaded page routes

๐Ÿ“‚ Project File Structure

study_planner/
โ”œโ”€โ”€ .github/              # Issue templates, PR workflows & CI configs
โ”œโ”€โ”€ api/                  # Serverless API routes (DeepSeek CORS proxy, streaming)
โ”œโ”€โ”€ app/                  # Application runtime entry & core wrappers
โ”œโ”€โ”€ books/                # Academic curriculum source PDFs (Oxford 3000, Cambridge)
โ”œโ”€โ”€ constants/            # Global constants, room configs, & study constants
โ”œโ”€โ”€ docs/                 # Security, encryption & architectural documentations
โ”œโ”€โ”€ hooks/                # Custom React hooks (useFocusTimer, useSubscription, useFlashcards)
โ”œโ”€โ”€ public/               # Static assets, PWA icons & manifest.webmanifest
โ”œโ”€โ”€ scripts/              # Python & Node automation scripts (PDF parsing, dynamic JSON splitting)
โ”œโ”€โ”€ src/                  # Main Frontend Source Code
โ”‚   โ”œโ”€โ”€ components/       # UI Components (decks, speaking, jlpt, ielts, whiteboard, pwa)
โ”‚   โ”œโ”€โ”€ context/          # React Context State Providers (StudyPlannerContext, FocusTimerContext)
โ”‚   โ”œโ”€โ”€ data/             # Preset Decks & Curriculum (decks/starter.json, academic.json, c1_c2.json)
โ”‚   โ”œโ”€โ”€ hooks/            # Dedicated UI & data fetching hooks
โ”‚   โ”œโ”€โ”€ i18n/             # Multi-language translation dictionaries (Uzbek, English, Japanese)
โ”‚   โ”œโ”€โ”€ pages/            # 27+ Lazy-loaded Page views (IeltsHub, JlptHub, SpeakingCoach, Decks)
โ”‚   โ”œโ”€โ”€ services/         # Supabase & Export/Import Data Services
โ”‚   โ”œโ”€โ”€ types/            # TypeScript Interface & Type Definitions
โ”‚   โ””โ”€โ”€ utils/            # SM-2 Spaced Repetition engine, AI helpers, IELTS & JLPT Calculators
โ”œโ”€โ”€ supabase/             # PostgreSQL database migrations, RLS policies & SQL schema
โ”œโ”€โ”€ .env.example          # Environment variables template
โ”œโ”€โ”€ components.json       # Shadcn UI configuration
โ”œโ”€โ”€ tailwind.config.js    # Custom Tailwind styling & design system config
โ”œโ”€โ”€ tsconfig.json         # Strict TypeScript compiler options
โ”œโ”€โ”€ vercel.json           # Vercel deployment & rewrite rules
โ””โ”€โ”€ vite.config.ts        # Vite build, PWA SW & Code-splitting configuration

โš™๏ธ Architecture Optimizations

src/data/presetDecks.ts (1.68 KB lightweight loader)
   โ”œโ”€โ”€ dynamic import() โ”€โ”€> src/data/decks/starter.json (1,646 cards)
   โ”œโ”€โ”€ dynamic import() โ”€โ”€> src/data/decks/academic.json (1,201 cards)
   โ””โ”€โ”€ dynamic import() โ”€โ”€> src/data/decks/c1_c2.json (388+ cards)
  • Dynamic JSON Chunking: Reduced main JavaScript bundle size by 99.5% for preset deck definitions by isolating raw cards into dynamic JSON chunks.
  • Sub-Component Refactoring: Extracted modular widgets (PersonaSelector, AudioVisualizer, SessionReportModal) to optimize memory footprint and React re-renders.

๐Ÿš€ Getting Started

1. Clone the repository

git clone https://github.com/Farhodoff/study_planner.git
cd study_planner

2. Install dependencies

npm install

3. Configure environment variables

Create a .env file in the project root:

VITE_SUPABASE_URL=your_supabase_url
VITE_SUPABASE_ANON_KEY=your_supabase_anon_key
VITE_OPENAI_API_KEY=your_openai_api_key
VITE_DEEPSEEK_API_KEY=your_deepseek_api_key

4. Run development server

npm run dev

5. Typecheck & Production Build

npm run typecheck && npm run build

๐Ÿ“„ License

Distributed under the MIT License. See LICENSE for details.

About

An advanced study management platform powered by AI, designed to optimize productivity, enhance focus, and gamify the learning experience. Built for the modern student.

Topics

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages