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.
Study Planner โ O'quvchilar va mutaxassislarga IELTS va Yapon tili (JLPT) imtihonlariga noldan boshlab tayyorlanishda yordam beradigan eng zamonaviy platforma.
- ๐ 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
tldrawyordamida real-vaqtdagi umumiy doska (Whiteboard).
ใStudy PlannerใใฏใIELTSใปJLPT๏ผN5ใN1ใปๅๅญฆ่ 0ใฌใใซ๏ผใฎๅๆ ผใ็ฎๆใๅญฆ็ฟ่ ใฎใใใฎใใซในใฟใใฏๅญฆ็ฟ็ฎก็ใปAIใณใผใใณใฐใใฉใใใใฉใผใ ใงใใ
- AIไผ่ฉฑใณใผใ (Voice AI Coach): ้ณๅฃฐ่ช่ญใจAIใๆดป็จใใๆฅๆฌ่ชใป่ฑ่ชใฎใชใขใซใฟใคใ ้ขๆฅใปไผ่ฉฑใทใใฅใฌใผใฟใผใ
- SM-2ๆ่จใซใผใใทในใใ (Anki Flashcards): 3,000่ชไปฅไธใฎ่ชๅฝใ็ฌๆใซใญใผใใใ่ถ ้ซ้ใใซใฏใใใใคใณใใผใๆฉ่ฝใ
- ใชใขใซใฟใคใ ๅญฆ็ฟใซใผใ (Study Room): WebRTCใใใช้่ฉฑใใใณ
tldrawๅ ฑๆใใฏใคใใใผใใ
- 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.
- 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:
addFlashcardsBatchchunked 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.
- 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.
- WebRTC P2P Video/Audio: Multi-user study rooms with screen sharing.
- Synchronized Whiteboard: Integrated
tldrawinfinite canvas canvas for collaborative mind mapping. - Shared Pomodoro: Group focus timer with synchronous state.
| 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 |
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
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.
git clone https://github.com/Farhodoff/study_planner.git
cd study_plannernpm installCreate 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_keynpm run devnpm run typecheck && npm run buildDistributed under the MIT License. See LICENSE for details.