Aplikasi Belajar Bahasa Jepang adalah platform pembelajaran interaktif yang membantu pengguna mempelajari bahasa Jepang melalui berbagai fitur seperti pembelajaran huruf (Hiragana, Katakana, Kanji), kosakata, tata bahasa, dan sistem kuis dengan progress tracking.
- Sistem Autentikasi Pengguna - Registrasi, login, dan manajemen profil
- Pembelajaran Karakter Jepang - Hiragana, Katakana, dan Kanji dengan detail stroke order
- Kosakata - Daftar kosakata terorganisir berdasarkan kategori dan level JLPT
- Tata Bahasa - Penjelasan tata bahasa Jepang dengan contoh
- Sistem Kuis - Berbagai jenis kuis untuk menguji pengetahuan
- Pelacakan Progress - Sistem spaced repetition untuk mengingat materi
- Dashboard Interaktif - Visualisasi progress belajar
- Admin Panel - Fitur admin untuk mengelola konten (tersembunyi)
- Laravel 10 - PHP Framework
- MySQL - Database
- Laravel Sanctum - Authentication API
- Laravel CORS - Cross-Origin Resource Sharing
- React 18 - Library JavaScript untuk UI
- Redux Toolkit - State management
- Material-UI (MUI) - Komponen UI
- React Router - Navigasi
- Chart.js - Visualisasi data
- Axios - HTTP client
id, name, email, email_verified_at, password, progress_level, last_studied_at, remember_token, created_at, updated_at
id, character, type (hiragana/katakana/kanji), romaji, meaning, stroke_order, examples, jlpt_level, stroke_count, created_at, updated_at
id, word, reading, meaning, example_sentence, category, jlpt_level, related_kanji, created_at, updated_at
id, rule_name, structure, explanation, example, level, created_at, updated_at
id, title, type (hiragana/katakana/kanji/vocabulary/grammar), difficulty, time_limit, created_at, updated_at
id, quiz_id, question_text, question_type (multiple_choice/fill_blank), options, correct_answer, explanation, item_id, item_type, created_at, updated_at
id, user_id, progressable_type, progressable_id, mastery_level, last_reviewed, next_review, review_count, created_at, updated_at
id, user_id, quiz_id, score, total_questions, answers, time_spent, completed_at, created_at, updated_at
POST /api/register- Registrasi pengguna baruPOST /api/login- Login penggunaPOST /api/logout- Logout penggunaGET /api/user- Data pengguna saat ini
GET /api/characters- Daftar semua karakterGET /api/characters/{id}- Detail karakter spesifikGET /api/characters/type/{type}- Karakter berdasarkan jenis
GET /api/vocabularies- Daftar kosakataGET /api/vocabularies/{id}- Detail kosakata spesifikGET /api/vocabularies/level/{level}- Kosakata berdasarkan level JLPT
GET /api/grammar-rules- Daftar aturan tata bahasaGET /api/grammar-rules/{id}- Detail aturan tata bahasa spesifikGET /api/grammar-rules/level/{level}- Aturan tata bahasa berdasarkan level
GET /api/quizzes- Daftar kuisGET /api/quizzes/{id}- Detail kuis spesifikPOST /api/quizzes/{id}/attempt- Submit attempt kuis
GET /api/progress- Progress belajar penggunaPOST /api/progress- Update progressGET /api/stats- Statistik progress
GET /api/review-items- Item yang perlu direview hari iniPOST /api/review-progress- Update progress setelah review
POST /admin/quizzes- Buat quiz baruPOST /admin/questions- Buat pertanyaan baruGET /admin/quizzes- Daftar quiz (admin view)DELETE /admin/quizzes/{id}- Hapus quiz
- PHP 8.1+
- Composer
- Node.js 16+
- MySQL 8.0+
# Clone repository
git clone https://github.com/username/japanese-learning.git
# Masuk ke direktori backend
cd backend
# Install dependencies
composer install
# Copy file environment
cp .env.example .env
# Setup database di .env
DB_DATABASE=japanese_learning
DB_USERNAME=root
DB_PASSWORD=
# Generate key
php artisan key:generate
# Jalankan migration & seeder
php artisan migrate
php artisan db:seed
# Jalankan server
php artisan serveFrontend (React)
cd frontend
npm install
REACT_APP_API_BASE_URL=http://localhost:8000/api
npm start
π Data Sample
Aplikasi dilengkapi dengan data sample untuk:
46 karakter Hiragana
46 karakter Katakana
80+ kanji JLPT N5
100+ kosakata dasar
25+ aturan tata bahasa
5+ kuis dengan berbagai jenis
π― Cara Penggunaan
Registrasi/Login - Buat akun baru atau login ke akun yang sudah ada
Jelajahi Materi - Pelajari karakter, kosakata, dan tata bahasa
Kerjakan Kuis - Uji pengetahuan dengan berbagai jenis kuis
Lihat Progress - Pantau perkembangan belajar di halaman progress
Review Harian - Gunakan fitur review untuk mengingat materi