Created on 12th February 2022
•
Resume building is a necessary skill for almost everyone who is applying for a job. The current resume builders are not very interactive and very rigid in their styles.
This project is a massive help to people looking for a job so they don’t have to spend a lot of time creating and formatting their resumes. It would also help employees in the industry who don’t have the time to keep updating their resumes. Tools like a resume builder are the little things we use every day that make our lives much easier.
Currently people use Microsoft Word to make their resumes. For someone who isn't familiar with Word, bulding a resume is a challenge. So we decided to make a website that does this for you. All you need to do is enter your details,education and work experience and we'll insert this data into a pre-existing template.
There are other resume bulding websites out there. But these websites are paid and not very interactive.
For LinkedIn authorization we require a client_id and client_secret. Keeping this client secret was important and we believed that there wasn't enough safety in storing it in the frontend so we created a Lambda function in AWS which behaves like a middleware between LinkedIn API and our website.
For security reasons it was decided that user information would not be stored. So the backend does not store any user data. This proved to be a problem when data was being inserted into the template and refreshing the page would erase all data.
To fix this we used session-storage to hold user data. This data gets erased after the tab is closed.
The main problem that I faced was linking the different components. At first I thought that this should be done using routes in node.js but we ended up using Link from react-router-dom.
Downloading the pdf proved to be a problem because the page layout and page break was a problem.At first I used jstopdf package from npm, but this package did not provide enough specifications for printing with breaks. So the css was off-centred. That is why we decided to used react-to-print package. This was a much better alternative and fixed our problem.
Another problem faced by us was deleting a project from a project list. To fix this we need to add nanoid. For some unknown reason nanoid didn't work so we had to switch to uuid.