Skip to the case study
Ishandeep Singh Software Engineer
All work

RMIT University · 2025

TeachTeam

Tutor hiring platform · web

Year
2025
Role
Full-stack Developer
Team
2 people
Context
RMIT University

As part of a two-person university team, I co-developed "TeachTeam", which is a full-stack web application designed to streamline the tutor hiring process for the School of Computer Science. The platform provides a complete, multi-user system with distinct roles and permissions for applicants, lecturers, and administrators.

The role

While my teammate and I collaborated on the overall architecture, my primary responsibilities were focused on the lecturer's user experience and the core application logic.

Front-end

On the front-end, I developed the home page and the Lecturer Dashboard using React and TypeScript. The lecturers' dashboard was a key feature of this app, with complex functionality which included: dynamic filtering of applicants by course, skills, and availability, as well as having an interactive side-panel for ranking and commenting on candidates.

The TeachTeam lecturer dashboard, with applicant filters, statistics and a ranking panel
The Lecturer Dashboard: filters by course, skill and availability on top, ranking and comments down the right

Back-end

For the back-end, I was responsible for building the REST APIs with Node.js that power both the lecturer and applicant features. This involved creating the endpoints for candidates to submit their applications and for lecturers to retrieve, filter, and rank applicant data in a secure manner. I designed and managed the relational database schema using TypeORM and Cloud MySQL to store data across users, courses, and applications.

The application table in phpMyAdmin, showing role, availability, skills and status columns
The application table behind it

What I learnt

This project was a significant learning experience in collaborative software development. It taught me how to effectively manage distinct parts of a large codebase, use Git for version control in a team setting, and integrate front-end and back-end systems into a cohesive and functional product.

It solidified my skills across the full development stack.

Building "Teach Team" gave me a greater passion for creating practical, user-focused tools that solved real-world problems.

React (TypeScript) · Node.js · Express · TypeORM · Cloud MySQL · REST · GraphQL · Git