How phumudzom574/student-reward-system-2026 works
This is a Flask-based student reward system. Staff sign in, manage participants and point rules, record transactions, and review histories, goals, progress, and leaderboards; the app also builds participant PDF reports. The sampled source shows the Flask app dispatching to domain modules, which use a shared MySQL connection helper. The README is only a brief description, and unsampled routes and templates limit confirmation of some UI relationships.
Main entry points: app.py Flask routes · database.py DB connection · participants.py Participants · point_rules.py Point rules
Components 13
Web application
- Flask routes
app.py - Web pages
login.html - PDF reports
app.py
Participant management
- Participants
participants.py
Rewards and goals
- Point rules
point_rules.py - Point transactions
point_transactions.py - Goals
goals.py - Goal progress
goal_progress.py - Leaderboard
leaderboard.py
Persistence and identity
- User validation
users.py - DB connection
database.py
Other components
- Staff user
- MySQL database
Connections 19
- Staff user → Flask routes: uses
- Flask routes → Web pages: renders
app.py - Flask routes → User validation: validates login
app.py - Flask routes → Participants: manages
app.py - Flask routes → Point rules: manages
app.py - Flask routes → Point transactions: records and reads
app.py - Flask routes → Goals: manages
app.py - Flask routes → Goal progress: reads and records
app.py - Flask routes → Leaderboard: loads
app.py - Flask routes → DB connection: queries directly
app.py - Flask routes → PDF reports: generates
app.py - Participants → DB connection: queries
participants.py - User validation → DB connection: queries
users.py - Point rules → DB connection: queries
point_rules.py - Point transactions → DB connection: queries
point_transactions.py - Goals → DB connection: queries
goals.py - Goal progress → DB connection: queries
goal_progress.py - Leaderboard → DB connection: queries
leaderboard.py - DB connection → MySQL database: connects
database.py