How truongvanthong/language-learning-be works
This is a Korean–Vietnamese vocabulary web app: users add vocabulary manually or import an Excel file, select topics and prompt direction, then practice a weighted quiz; incorrect answers update vocabulary state. The server exposes vocabulary, topic, import, quiz-tracking, and admin CRUD APIs backed by MongoDB. The tree identifies the admin capability only through server routes; its client implementation is not shown. Server excerpts are partial, so uncertain route-to-UI wiring and static-serving details are omitted.
Main entry points: server.js Express server · quiz.js Quiz session · app.js Setup and entry
Components 11
Vocabulary client
- Setup and entry
public/app.js - Quiz session
public/quiz.js
Application API
- Express server
server.js - Topic queries
server.js - Vocabulary API
server.js - Admin item API
server.js - Excel import
server.js - Wrong-answer tracking
server.js
Vocabulary storage
- Vocabulary collection
- MongoDB connection
server.js
Other components
- Learner
Connections 17
- Learner → Setup and entry: sets vocabulary
- Setup and entry → Express server: requests topics and items
- Setup and entry → Quiz session: starts session
- Learner → Quiz session: answers prompts
- Quiz session → Express server: loads items; reports errors
- Express server → Topic queries: dispatches
- Express server → Vocabulary API: dispatches
- Express server → Admin item API: dispatches
- Express server → Excel import: dispatches
- Express server → Wrong-answer tracking: dispatches
- Topic queries → Vocabulary collection: reads topics
- Vocabulary API → Vocabulary collection: reads and inserts
- Admin item API → Vocabulary collection: reads and edits
- Excel import → Vocabulary collection: inserts rows
- Wrong-answer tracking → Vocabulary collection: updates counts
- MongoDB connection → Vocabulary collection: connects collection
- Quiz session → Wrong-answer tracking: increments on incorrect answer