Skip to content

About this Project

hanjiexi edited this page Jun 5, 2021 · 1 revision

About this Project

mcitmocks is a platform used to coordinate and facilitate technical mock interviews between students of the MCIT program.

Using mcitmocks, students can select time slots for when they want to find a partner for a mock interview, or find and invite other students based on time slots they’ve already selected. The app also provides the interface for the interview, that includes: 1) 2 selected questions from a library of technical interview questions, 2) a live coding interface that both the interviewer and interviewee can share and edit in real time; 3) a live video feed of both the interviewer and interviewee.The mock interview will be timed, and the interviewer and interviewee will switch roles once for each mock interview session.

Why mcitmocks? Many students in the MCIT program will eventually have to contend with technical interviews in their job search, and one of the most important things for success is to practice. Competing solutions like Pramp and Interviewing.io do exist, but they tend to be anonymous and can be potentially intimidating to those who are new to interviews. By building mcitmocks, we are able to leverage the MCIT community, connect students with each other, and help each other practice for technical interviews in a safe, learning-friendly environment.

The ultimate desired outcome is to build something useful for the MCIT community, launch this as a real, live product, and be able to maintain it as an open source project moving forward. This goal lends itself to a project where all members of our team are committed to learning and enforcing best practices from the very beginning – including clean code, clean architecture, testing, documentation, CI/CD, etc – in addition to learning the key technologies needed to bring this project to life.

Tech Stack

TODO: Rewrite this.

We decided to use a Java backend using Spring Boot as a framework, and a Typescript frontend using React with Create React App and Redux. In order to implement oAuth authentication, we will be using Spring Security as a framework. For live coding updates and streaming video, we will also need to use WebRTC and Websockets on both the backend and client side.

We are also committed to implementing a number of other technologies to support best practices in this project. For testing on the frontend, we will be using Jest, Storybook and Cypress. For testing on the backend, we will incorporate Spring Boot’s recommended testing stack by implementing spring-boot-starter-test libraries. We also intend to use a number of tools intended to facilitate continuous integration / continuous deployment, including Github Actions, Docker and AWS.

Table of Contents

Background

API Reference

Clone this wiki locally