NoQ — A Job Portal for College Career Fairs

Hrishikesh Paul
6 min readFeb 21, 2022
Visit NoQ here

NoQ, is a revolutionary tool which allows for both employers and students to skip the hassle seen in modern day career fairs. For the students, we have an intuitive profile builder where you can add things like education, skills, certifications, honors, and experiences. These all culminate into a sleek home page where you will see all the positions in which your skills meet the criteria. NoQ is not only good for students, but employers as well! With NoQ, only the students who meet the positions’ criteria will be able to apply, and from there the recruiter can invite them to talk in more detail at the career fair through our intuitive messaging system.

The GitHub repo can be found here.

Technology Stack

  1. VueJS
  2. NodeJS
  3. MongoDB
  4. Heroku
  5. Agile
  6. JIRA
  7. Web Sockets

Overview

Problem Statement

A common problem at modern career fairs is the number of unqualified candidates who waste their time when they could be chatting with someone else. Having experienced it first hand, a few of us wanted to create a system that not only values the time of the employer but also the thousands of students. Standing in line anywhere between 30 minutes to 1 hour, just to hand your resume was cumbersome and boring, and we really wanted to make the situation better. Therefore, we came up with a web platform to efficiently bridge the gap between students and recruiter by effectively matching them based on skills, qualifications and experiences — while providing various features to help job seeking students.

Stakeholders

NoQ is aimed towards catering to the students, and employees and recruiters at college career fairs.

Development Process

For quick delivery of production level software, the team worked in an Agile environment of 2 week sprints, with weekly team meetings. Bi-weekly reports and black-log management, along with creating and assigning issues were some of the high level management tasks that I had to carry out.

Design

Design Issues

The system is intended to be used for both recruiters and applicants to undergo screening procedures that can be done before an on-campus career fair, thus applicants should be able to review available positions and send their profile along with their applications to recruiters before the career fair, and recruiters should have the ability to post available positions and access applicants’ profiles remotely and inform applicants about the result and next steps. The system should give user ability to access corresponding data remotely and should not be operating environment dependent.

Candidate Design Solutions

Solution 1: Applicants would be able to scan their resume with a mobile application and create their profile during the check-in process in a career fair and then apply for positions in the same application. Recruiters can review submitted profiles and give applicants permission of having an in-person interview.

Solution 2: Applicants would be able to log in to our website by creating their accounts or login their third party accounts such as LinkedIn, and then build their profile, apply to positions from a list of jobs that they are qualified for. Then they should have the ability to chat with recruiters over the internet once their first stage applications are approved. Recruiters should be able to access applicants’ online profiles and give candidates permission of having an in-person interview during a career fair.

Design Rationale

Solution 2 was selected by the development team. Based on the consideration of timeline, budget and our objectives, solution 2 meets our requirements best. The system have to include an online service and be operating environment dependent, thus a web application would be more appropriate. Additionally, mobile applications for different operating system is way beyond our capability within the time frame of the project.

Approach

We used object-oriented design because we believe that will best allow us to build our project. Using UML diagrams, we can easily see the relationships between each class, which allows us to further understand and develop our product. We also used sequence diagrams in order to showcase how the whole process will start, end, and the steps in between. This allows us to capture every step in the process, which is highly important in developing a perfect product for our customers.

Standards

We did not necessarily adhere to any singular design standard. When designing a component, we holistically evaluated the pros and cons to each design we made, ensuring the highest possible product was produced. For naming conventions, we went with the industry standard for uppercase class names, and camel-case for functions.

Architecture

NoQ is based on the MongoDB, Express, Vue and Node technology stack. The figure below shows the system architecture at the higher level. The client can access the web app through any internet based browser. The front-end technologies include Vue.js, which is the front-end framework, Bootstrap, which is a front-end styling framework, HTML and CSS. Vue.js can be used to make AJAX requests, make flexible and stable websites. Vue.js makes axios requests to the server that is built upon Node.js. ExpressJS is a library for Noe that includes a tonne of functions to handle requests and send responses back to front-ends. The database being used is MongoDB. Mongoose is a javascript library that bridges the gap between mongo shell commands and javascript. Furthermore, the web application uses another form of authentication which is the LinkedIn OAuth. Via this, a user is able to retrieve basic information about their profile.

NoQ System Architecture

Features

Comprehensive Profile Builder

The first step towards effectively matching candidates to companies is to onboard them with all their data, including educations, experiences, skills, awards and honors — which was securely stored on Mongo Atlas.

Profile Builder

Concise Recommendation System

The recommendation give you educated guesses about companies or students that a student might be interested based on on previous matches and skill sets.

Recommendation System

“What If” feature

If you are curious about the most in-demand skills, you can use our “What-if” feature where you can manually input skills to see the positions which require them.

What if feature

Messaging

By using web sockets, we built a messaging system from scratch to enable students and employees to communicate before and after career fairs.

Messaging

Backend

The backend was built using Node, MongoDB and web sockets. Authentication and LinkedIn OAuth was handled by PassportJS. All these were then deployed to a Heroku server.

GitHub repo for the backend can be found here.

Database Schema

NoQ Database Schema

Messaging via web sockets

The messaging system is built out of node web sockets. The Activity Diagram for its workflow is given below.

Messaging Activity Diagram

Reflection

Through the project, I was able hone my skills as a leader, project manager and full stack developer. The project touched upon every step of the software development lifecycle wile also pushing me to produce production level code. Below are some metrics of the work we put in

  • 189 hours
  • 30 issues resolved
  • 12 code reviews
  • 5 sprints

Achievement

Winning project out of 12 project for the course, Software Engineering CSCI-P565.

Winning Team — NoQ

You can find the frontend repository here and the backend repository here. Thank you so much for reading!

--

--

Hrishikesh Paul

Hi there, nice to meet you! Welcome to my medium page! I’m a coder who can design and I love eating sushi!