mirror of
https://github.com/nihonbuzz/nihonbuzz-academy.git
synced 2026-01-25 21:18:45 +07:00
3.4 KiB
3.4 KiB
Nihonbuzz Academy - Master Blueprint
1. Project Vision
To create a premier Japanese language learning platform that combines Spaced Repetition System (SRS), structured lessons, and gamification to help students master Japanese efficiently. The platform focuses on long-term retention through smart algorithms and engaging UI.
2. Core Architecture
- Backend: Laravel 11 (PHP 8.2+)
- Frontend: React + TypeScript (via Inertia.js)
- UI Framework: TailwindCSS + Shadcn/UI
- Database: MySQL/MariaDB
- Authentication: Laravel Breeze + Socialite (Google OAuth)
3. Feature Roadmap
Phase 1: Foundation (Current Focus)
- Authentication & Identity:
- Complete Google OAuth integration.
- Setup Role-Based Access Control (RBAC): Student, Instructor, Admin.
- Profile management (Avatar, Timezone settings for SRS).
- Basic UI Layout:
- Responsive Application Shell (Sidebar/Navbar).
- Dark/Light mode support.
Phase 2: The SRS Engine (Core Value)
- Content Database:
vocabulariestable: Kanji, Kana, Meaning, Audio, Example Sentences, JLPT Level.
- SRS Algorithm Logic:
- Implementation of SuperMemo-2 or Anki-like algorithm.
srs_reviewstable: Tracksuser_id,vocabulary_id,interval,ease_factor,next_review_at.
- Study Interface:
- Flashcard UI (Front/Back).
- Self-grading buttons (Again, Hard, Good, Easy).
- Keyboard shortcuts for rapid reviewing.
Phase 3: Student Dashboard & Analytics
- Dashboard Widgets:
- "Reviews Due" counter.
- "New Cards" available.
- Heatmap of study activity (like GitHub contributions).
- SRS distribution chart (Learning vs. Mature cards).
- Study Stats:
- Retention rate graphs.
- Forecast of future reviews.
Phase 4: Gamification & Engagement
- Streak System: Daily login/study tracking.
- XP & Levels: Points for every correct card.
- Leaderboards: Weekly/Monthly rankings among friends/global.
- Badges: Achievements for milestones (e.g., "1000 Words Learned").
Phase 5: Administration & Content Management
- Admin Dashboard:
- CRUD interface for Vocabulary/Kanji (Mass import via CSV/JSON).
- User management.
- Audio System: Text-to-Speech integration or hosted audio files.
4. Technical Specifications
Database Schema Overview
users: Core user datasocial_accounts: OAuth linksvocabularies: Dictionary data (kanji, kana, meaning, example_sentence)srs_reviews: Tracks user progress per item (next_review_date, interval, ease_factor)study_sessions: Logs of review activity
vocabularies table structure
| Column | Type | Notes |
|---|---|---|
| id | bigint | Primary Key |
| word | string | The Kanji/Word (e.g., 猫) |
| reading | string | Kana reading (e.g., ねこ) |
| meaning | text | English/Indonesian meaning |
| parts_of_speech | string | Noun, Verb, etc. |
| level | integer | JLPT Level (5, 4, 3, 2, 1) |
srs_reviews table structure
| Column | Type | Notes |
|---|---|---|
| id | bigint | Primary Key |
| user_id | bigint | FK to users |
| vocabulary_id | bigint | FK to vocabularies |
| interval | integer | Days until next review |
| ease_factor | float | Multiplier (default 2.5) |
| streak | integer | Consecutive correct answers |
| next_review_at | datetime | When this card becomes due |