CV Generator

Project Screenshot

Description

Put your information in and the application will automatically generate a resume for you. To practice building functional (as compared to class) React components as well as the state manipulation.

Problems Faced

This is my first React project. The goal was to learn manipulating state: to get the input from user on the 'input' side and display it on the 'resume' side. The main problem I faced was the one of setting up and updating a complex state.

What I did

Using functional components, I set up three state variables: for personal info, for experience, and one for education. For the application, the number of fields in the personal state was constant, so it's simply a matter of capturing the input and putting it into the correct object field. Experience and Education sections were harder because there, the user is supposed to be able to add more of those sections or delete them. It means that the state for each of those sections needs to be a list of objects, so I had to learn how to access the needed object and change fields in it without changing the rest of the fields and the whole state. For that, I learned to use object destructuring and methods that don't change the original state variable (.push() vs .concat(), for example). Lastly, I combined these three funcitons into one onChange() function and picked which method to invoke based on the clicked button's id.

Mykyta Medvediev, 2023