OTH Regensburg
-

Regensburg Student Progress Dashboard

Developed as a core component of my bachelor's thesis for the Regensburg Online College, this project tackled the dual challenge of automatically grading student code submissions (from MOODLE or GitHub) and fostering student motivation to complete their assignments. This issue became particularly pressing during the COVID-19 pandemic, which necessitated a complete transition to online homework submissions. My robust solution involved automatically triggering GitHub Actions whenever a student submitted code to their respective GitHub Classroom repository. Conversely, MOODLE code was analyzed via a simple cron job, which subsequently initiated a workflow in the NestJS backend to dynamically update the student's progress view. The underlying psychological design of the dashboard was carefully crafted based on Whitehead's gamification principles, incorporating elements such as intuitive progress bars and recognition badges for top-performing or most active students (determined by commit pushes). The user interface design was initially conceptualized in Adobe XD and then implemented in Angular, following an extensible atomic design approach for modularity and scalability. Furthermore, to ensure accurate code analysis and reliable data storage within the PostgreSQL database, Redis was strategically employed as a foundational message broker for RabbitMQ, facilitating efficient data flow.
Skill level: 3
GitHub logo GitHub
Skill level: 7
GitHub Actions logo GitHub Actions
Skill level: 7
Redis logo Redis
Skill level: 6
PostgreSQL logo PostgreSQL
Skill level: 7
TypeScript logo TypeScript
Skill level: 8
NestJS logo NestJS
Skill level: 7
Angular logo Angular
Skill level: 3
Bootstrap logo Bootstrap
Skill level: 3
Moodle logo Moodle
Skill level: 4
SCSS logo SCSS