ModulePal
Web platform enabling Warwick students to review academic modules, helping them make better decisions. It ensures legitimacy by only allowing a user to review a module they have taken, and harnesses student data to provide confidential grade-based analytics.
Used semi-offically in Warwick's Computer Science department, with over 4000 reviews at present.
Enables users to review modules across a set of metrics, and leave likeable comments and suggestions.
Harnesses Warwick student data via OAuth, personalising the experience to a user's university account.
Anonymously contextualises reviews based on the grade students achieved in the module.
Responsive UI which works on all screen sizes.
Technical details:
Secure Spring (Java) backend, using an in-memory ORM (SQL/Hibernate) database for caching, and a NoSQL Firebase Realtime Database for persistant data storage. Provides a REST API for the frontend.
React (TypeScript) frontend utilising hooks and other advanced features, harnessing Firebase Authentication to manage authentication states.
Backend packaged as a WAR application and hosted on a Tomcat instance on a DigitalOcean Droplet. Frontend hosted via Firebase Hosting.
Mailchimp for email marketing, GCP Operations for session logging.
Highly optimised with an efficient NoSQL data schema, in-memory SQL caching layer, scalable metric computations via moving averages, and paginated queries.