Skip to content

Generates CVs to be exported in PDF format. Made with React.js, Typescript

Notifications You must be signed in to change notification settings

jeromecho/cv-generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cv-generator

Generates CVs to be exported in PDF format. Made with React hooks, Typescript, html2canvas, jsPDF.

DEMO

2022-07-02.20-44-00.mp4

Technical Challenges

Migrating to a Function Based Mindset

  • Class setState allows for a second argument, a callback that is called after the state updates, preventing wacky interpretations of the async setState. Function hooks didn't have anything like that (well, there is an npm package, but it runs into some errors with my Typescript setup). To solve this, I changed the way I thought of my problem. I didn't need my program to update right after the state value was updated. Rather, I just wanted the function of typing and getting results displayed in real time. Therefore, just adding a useEffect that called the needed callback with dependencies being every single state value that changed in my Experience component was sufficient for my user!

Learning Typescript

  • I scoured a web tutorial, a YouTube tutorial, and the official docs. It took a while for the syntax to sink in, and a little bit of usage for me to realize how nice Typescript by forcing me to write code with standardized signatures built into my functions. For anyone scouring this README, I recommend Ben Awad's 'React Typescript Tutorial', the official docs, and the React section of this typescript deep dive (https://basarat.gitbook.io/typescript/tsx/react).

Reflection

I typed everything this time for retention, but I finally got Vim-Snippets + Ultinsips working. Combined with LSP configuration, I hope my productivity increases even more.

Future Features

  • Adding a custom image instead of a handsome Korean man
  • Responsive font-sizing for long names (my legal name 'Jin' works fine, 'Jerome' is a bit long 😒 )

About

Generates CVs to be exported in PDF format. Made with React.js, Typescript

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published