Jobs Board 2022 (in a nutshell)
Hey there! First off, welcome to the Jobsboard team for 2022. We were really impressed by your applications and canât wait to work closely with you this year.
Goal
This year, our goal is to make Jobsboard more transparent, accessible and user-friendly to all CSE students. This will be done in the order of reskinning, increased marketing and the addition of a couple of new features.
Overview
Brief Overview
The jobs board was created many years ago by Adam Tizzone (former CSESoc Exec). Since then, the project has managed to get over 34 registered companies and 1000+ unique users (stats as of last year). The project was maintained by Adam until the arrival of new project leads (Darian and Joanna) where we took over most of the reins and are trying to carry on his legacy .
In an attempt to do so, we have decided to recruit new members to help us in this crusade, which is where you come in. As members of this project, your task will be to assist the leads in dominating the jobs board area in UNSW. These tasks will include coding with an emphasis on consistent style and documentation (style guide coming soon?).
Current State of Project
Not trying to overwhelm you here or anything, but the codebase and workflow of the project can seem pretty daunting at first glance, especially if you havenât had much experience working on a major project like this one before. And thatâs okay â everyone has to start somewhere and we totally get that you need time to process all of this information so donât worry if you have trouble processing some of these. You can always reach out to any one of the leads for clarification. We have also tried to make this section as easy as possible for you to get better acquainted with the project.
The project currently has 15 different pages which are listed as follows (hopefully the function of the pages are self-explanatory):
Student Accessible | Company Accessible | Admin | Miscellaneous |
---|---|---|---|
|
|
|
|
Â
The below are some useful links to different parts of the project.
CSESoc Jobs Board
Jobsboard
Design and Prototyping
Jobs Board Prototype
Codebase
GitHub - devsoc-unsw/jobsboard: The place for CSE students to find student jobs and internships
Confluence
Jobsboard
As you may have noticed by looking through the codebase, our README.md
is a little sparse at the moment and that's one of the things we will work on this year -- updating it to paint an accurate reflection into what the jobsboard actually is, how does it work, and what features are available to students and companies alike.
Â
Frontend Revamp and New Pages
As part of our goal this year, we want to give the project a fresh makeover, redesigning and making the frontend as clean and modern (for lack of a better word) as possible. Which is why for those of you working on the frontend, you will be helping with the UI/UX design, prototyping and wireframing of the project on Figma, and coding certain aspects of the frontend mentioned below:
Overview
Currently, the frontend for the project looks a little plain and in need of a new look.
Your task will be to assist in the design for the new and existing pages using Figma for all prototyping and wireframing, keeping with a similar colour and font scheme (refer to Jobs Board style guide) and ultimately helping to write up the code for these pages.
The description for the new pages are as follows:
Articles Page (Accessible to everyone) - A page where students are able to find articles related to jobs such as âHow to Write a Great Resumeâ, âInterview Tips from Previous Interns and Gradsâ and more.
Landing Page (Accessible to everyone) (Finished) - A new landing page where we are able to flex to others that we have companies like Canva posting jobs through us.
Statistics page (Accessible to admins and companies) - A page where companies are able to see our stats about the number of companies registered with us, the number of job posts that we released the past year and more.
Contributions/Acknowledgement Page (Accessible to everyone)(Finished)- A page where the contributions of developers on the project will be displayed. Kind of like a âWho made this projectâ page.
Additional Note
Donât be afraid to give your opinions if you think the new design could look much better; perhaps with a different colour here and a different font there
Â
New Features
There are several new features that we are aiming to have in the project this year. The purposes of these features are to improve quality of life for every user. This will involve both frontend and backend work.
Overview
Password Reset for Companies (Finished and Deployed)
Passwords are hashed and stored in the database. This is for added security and also means that there isnât a way for companies to reset their password in the event that they have forgotten it. Currently, the only way to reset a companyâs password is to either manually delete their account and request that they create a new one (really bad and used as a last resort as this will delete all their previous job posts) or we could post a job on their behalf (not sustainable in the long run).
Frontend - Implement a password reset pop-up/page.
Backend - Overwrite the companyâs password in the database.
Hiding Job Posts (Finished and Deployed)
Some companies post duplicates of the same job and itâs cluttering up the admin dashboard but we donât have a way to hide that. We donât want to delete these as we want to keep a record of everything that is posted.
Frontend - Hide button
Backend - Removing posts from being listed when hide button is clicked
International Student Tag (Finished and Deployed)
To provide more transparency and to prevent disappointment from international students, we would like it if there was a way to let people know right off the bat whether a job posting accepts international applicants or not.
Frontend - This could potentially be done by having a pop-up on the âjob postcardâ saying something along the lines of âOpen to internationalsâ or conversely âNot open to international applicantsâ. The display method is still being decided although you are more than welcome to give your thoughts on this.
Backend - We need to add a dropdown box with options such as:
Open to Australia and New Zealand permanent residents and citizens only
Open to international applicants
this can be added to jobs-board/backend/src/company.ts
Rich Text Editor (Finished and Deployed)
Currently, when companies wish to make a job post, they are provided with a markdown editor. However, the Websiteâs team have been developing a rich text editor which we will try to integrate into our project to replace the current editor.
Frontend - Addition of a few buttons and descriptions letting the user know that the editor is capable of doing things like attaching links, images etc.
Backend - Replacing the code for the current editor with the new one.
Search/Filter Bar
Currently, there isnât an efficient way for students to search for job posts. The addition of a filter bar with functions such as:
Search/Filter by Company
Search/Filter by Job Type/Role Name
Search/Filter by Job Description
Frontend - Addition of a Search/Filter Bar.
Backend - Develop an algorithm to efficiently allow students to search and filter job posts and implement it. This is where knowledge of algorithms will be crucial. Anyone can brute force an implementation for this, but that would just make things slow in the long run.
Job Recommendation
A cool idea proposed by James. What if we could recommend jobs to students based on what courses they have already taken. For example, a student who has only taken COMP1511 wouldnât really be ready for a Software Engineering job interview, however a student who has completed both COMP2521 and COMP3121 would be ready. Another example would be a student who is majored in Artificial Intelligence should be recommended a Machine Learning job.
Frontend - A âRecommended Jobsâ section in the Jobs page. Also, to achieve this, we would need to ask students what courses they have already taken. This can be done as a one-time only pop-up question when students log-in.
Backend - Record students answer and store them in the database. Then, based on the response, design an algorithm (similar to matching problem from COMP3121) to provide job recommendations.
CI/CD Integration (Finished and Deployed)
You might be familiar with the concept of CI/CD from COMP1531. Except that here, we donât currently have one set up.
Backend - Set up CI/CD for the repository.
Â
These tasks should teach you more about
UI/UX design in Figma
More frontend
APIs
Algorithms
Â
If somehow, we do manage to implement and deploy all of the above by the end of the year, there are a few features that we could look towards implementing:
Student reviews of companies that they have worked at.
Coming Soon