mirror of
https://github.com/nihonbuzz/nihonbuzz-academy.git
synced 2026-01-26 13:32:07 +07:00
85 lines
3.4 KiB
Markdown
85 lines
3.4 KiB
Markdown
# 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**:
|
|
- `vocabularies` table: Kanji, Kana, Meaning, Audio, Example Sentences, JLPT Level.
|
|
- [ ] **SRS Algorithm Logic**:
|
|
- Implementation of SuperMemo-2 or Anki-like algorithm.
|
|
- `srs_reviews` table: Tracks `user_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 data
|
|
- `social_accounts`: OAuth links
|
|
- `vocabularies`: 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 |
|