Valit

Real-time feedback platform for university lecturers

Valit

About

Valit offers real-time feedback through its comprehensive evaluation platform, allowing for immediate student feedback on lessons during or directly after class. For more info on the project, visit showtime.f4.htw-berlin.de/ws22/master/m7-valit

My Role

I led the setup and development of the backend, taking ownership of architecture, tooling, and deployment processes in a full-stack application.

Backend Development

  • Designed and implemented a complete authentication and user management system (JWT, password hashing, Spring Security)
  • Built role-specific flows, including lecturer login and student account creation without credentials
  • Defined and implemented scalable data models for evaluations and question types (PostgreSQL, JPA)
  • Developed and documented REST endpoints using Postman
  • Implemented real-time functionality via WebSockets, including message structure, backend endpoints, and JavaScript integration examples
  • Built a scheduled system for automatic creation of evaluations based on templates

Architecture & Code Quality

  • Established and enforced project standards: code conventions, architecture guidelines, Git workflow, and code review practices
  • Actively contributed to ~95% of backend code and reviewed nearly all merge requests
  • Mentored team members by sharing best practices in Spring Boot development

Reliability & Maintenance

  • Owned ongoing bug fixing and production issue resolution (“firefighting”)
  • Improved system stability through fixes such as profile image persistence and refined access control for endpoints

DevOps & Deployment

  • Took over full server ownership and deployment responsibility
  • Implemented Continuous Deployment for the backend using GitLab Pipelines
  • Managed frontend deployments manually
  • Configured nginx to expose WebSocket endpoints in production

Frontend Support

  • Contributed to lecturer-facing features, including profile management and image handling
  • Introduced environment variable configuration for deployment consistency
  • Improved WebSocket client stability to ensure persistent backend connectivity