How guruharsha20/code_gaming_run works
CodeQuest is a gamified coding-learning app: a learner explores language-specific levels, submits code for output checking, and can record progress and rewards. The Node server serves the web client and implements the API using in-memory user state; its curriculum module supplies level content. The sampled Java Spring application exposes overlapping course, account, progress, and leaderboard behavior as a separate backend implementation. The README gives no architecture detail, and the frontend source was not sampled, so its API interactions are not asserted.
Components 12
Web client
- Web app
index.html
Learning and execution
- HTTP API server
server.js - Coding curriculum
curriculum.js - Code runner and verifier
server.js - Course levels
server.js - AI hints
server.js
Accounts and game state
- Account and admin APIs
server.js - In-memory user state
server.js - Progress and rewards
server.js - Leaderboard
server.js
Java backend
- Spring API backend
src/main/java/com/codinggame/CodingGameApplication.java
Other components
- Learner
Connections 17
- Learner → Web app: uses
- Web app → HTTP API server: API requests
- HTTP API server → Web app: serves
server.js - HTTP API server → Coding curriculum: loads levels
server.js - HTTP API server → Course levels: routes courses
server.js - Course levels → Coding curriculum: reads levels
server.js - HTTP API server → Code runner and verifier: routes submissions
server.js - Code runner and verifier → Coding curriculum: reads expected output
server.js - HTTP API server → AI hints: routes help
server.js - AI hints → Coding curriculum: reads level content
server.js - HTTP API server → Account and admin APIs: routes accounts
server.js - Account and admin APIs → In-memory user state: reads and updates
server.js - HTTP API server → Progress and rewards: routes progress
server.js - Progress and rewards → In-memory user state: reads and updates
server.js - HTTP API server → Leaderboard: routes ranking
server.js - Leaderboard → In-memory user state: reads users
server.js - Learner → Spring API backend: uses API