110 lines
2.8 KiB
Markdown
110 lines
2.8 KiB
Markdown
# 📝 Spelling App
|
|
|
|
A lightweight, multi-user spelling practice app with admin controls, customizable themes, and per-user word list management. Built with **Node.js**, **Express**, and **Docker**.
|
|
---
|
|
## [Watch the video](https://www.youtube.com/watch?v=K29zCFZPEjE)
|
|
[](https://www.youtube.com/watch?v=K29zCFZPEjE)
|
|
|
|
---
|
|
|
|
## 🚀 Quick Start (Docker Compose)
|
|
|
|
Clone and run from anywhere using Docker Compose:
|
|
|
|
```bash
|
|
git clone https://git.necloud.us/nmemmert/Spelling.git
|
|
cd Spelling
|
|
docker-compose up --build
|
|
```
|
|
|
|
Then visit: 👉 http://localhost:3000
|
|
|
|
|
|
## 👥 Default Login
|
|
|
|
| Username | Password | Role |
|
|
|-----------|----------|--------|
|
|
| admin1 | password | Admin |
|
|
| student1 | 123456 | Student|
|
|
|
|
> You can add new users from the Admin Panel.
|
|
|
|
## ⚙️ Features
|
|
|
|
# 🎮 Student-Facing Features
|
|
|
|
- **Word Game Session**
|
|
Timed word presentation with answer input and summary feedback
|
|
|
|
- **Retry Missed Words**
|
|
Quick review round for any words answered incorrectly
|
|
|
|
- **Result Summary Panel**
|
|
Shows score, accuracy percentage, and answers with color-coded feedback
|
|
|
|
- **🎖 Badge Display Section**
|
|
Earned badges appear after each session based on milestone triggers
|
|
|
|
- **Responsive Design**
|
|
Touch-friendly interface optimized across devices
|
|
|
|
---
|
|
|
|
# 📋 Admin Panel Features
|
|
|
|
- **User Management**
|
|
Add and remove student accounts from the system
|
|
|
|
- **Word List Editor**
|
|
Customize spelling lists per student
|
|
|
|
- **Game Preview & Play Trigger**
|
|
Admins can test gameplay directly
|
|
|
|
- **Analytics Tab**
|
|
Aggregate stats like average scores, most missed words, and per-student breakdown
|
|
|
|
- **Badge Viewer Tab**
|
|
Shows every user's earned badges and lets admins inspect progress visually
|
|
|
|
- **Reports Tab**
|
|
Print-friendly HTML summaries per student with words, scores, and badges
|
|
|
|
- **Clipboard Copy Button**
|
|
Quick export for emailing or recordkeeping
|
|
|
|
---
|
|
|
|
# 🔄 Server-Side Logic
|
|
|
|
- **Structured Result Saving**
|
|
Stores user sessions with score, completion status, and answer accuracy
|
|
|
|
- **Badge Awarding & Storage**
|
|
Server tracks earned achievements in `badges.json`
|
|
|
|
- **Safe Data Handling**
|
|
Validates all inputs and formats before writing JSON
|
|
|
|
---
|
|
|
|
# 🚀 Upcoming Features (in progress or proposed)
|
|
|
|
- **Multi-Session History Tracking**
|
|
Store multiple results per user for trends and performance graphs
|
|
|
|
- **Performance Trends Viewer**
|
|
Line/bar charts to show score progression over time
|
|
|
|
- **Practice Streak Badges**
|
|
Awarded for consistent use across days
|
|
|
|
- **Thematic Word Lists**
|
|
Organize challenges by topic (e.g. animals, tech, holidays)
|
|
|
|
- **Email Export Button**
|
|
Opens a pre-filled `mailto:` with progress summary text
|
|
|
|
- **PDF Export Option**
|
|
Convert report data into downloadable documents
|