An open API service indexing awesome lists of open source software.

https://github.com/webdevsk/next-resume

Build Resume/CV with React JS
https://github.com/webdevsk/next-resume

Last synced: 11 months ago
JSON representation

Build Resume/CV with React JS

Awesome Lists containing this project

README

          




Logo

Next Resume


Build Resume/CV with React JS

[**Explore the docs »**](https://github.com/webdevsk/next-resume)

[View Demo](https://resume-webdevsk.vercel.app/)
· [Report Bug](https://github.com/webdevsk/next-resume/issues)
· [Request Feature](https://github.com/webdevsk/next-resume/issues)


---

Table of Contents

- [About The Project](#about-the-project)
- [Built With](#built-with)
- [Getting Started](#getting-started)
- [Prerequisites](#prerequisites)
- [Hosting the live version](#hosting-the-live-version)
- [Generating PDF file](#generating-pdf-file)
- [Contributing](#contributing)
- [License](#license)
- [Contact](#contact)


## About The Project


Live Desktop


Print to PDF


Live Mobile



If you have any prior experience creating your Resume/CV using visual tools then you know how complicated things can be. As,

- You can't change the fonts globally
- Change of design requires that you fill in your details again
- Content and column alignment calculations have to be done manually

As a programmer, I like to solve my problems programmatically. So I created this React App to generate it dynamically. It features:

- A single Object to hold and manage all the information
- Ability to create multiple templates without the need of refilling the information
- Change font family and font sizes from Template.css file
- Loop through information and render them accordingly
- Use React conditional rendering to render content only on given information
- Create expandable columns with the help of CSS Grid and Flex-box
- Can host a Live interactive version of my resume for Desktops and Mobile devices

(back to top)

### Built With

[![React][React]][React-url]
[![TailwindCSS][TailwindCSS]][Tailwind-url]

(back to top)

## Getting Started

### Prerequisites

1. **Install** [NODE.JS](https://nodejs.org/en/download) and [Git](https://git-scm.com/downloads)
1. Open your projects base folder and launch any **terminal** of your choice.
1. Run this command:

```sh
npm install npm@latest -g
```

### Hosting the live version

1. Clone the repo

```sh
git clone https://github.com/webdevsk/next-resume.git
```

1. Install NPM packages

```sh
npm i --legacy-peer-deps
```

1. Run Dev server

```js
npm run dev
```

### Generating PDF file

There are two ways in which you can generate a PDF file from the hosted live version. The differences are:

| | Browser Print to PDF | Puppeteer PDF Method |
| ---------------- | ------------------------------- | -------------------------- |
| Difficulty | Easy | Hard |
| Method | Snapshot (image) | Generates from HTML markup |
| OCR | No (Requires post OCR) | Yes |
| Foreign language | Post-OCR may not recognise them | Supported |
| HyperLinks | Not supported | Supported |

Browser Print to PDF

1. Open your preferred browser and navigate to localhost:3000
1. Choose any template and press "**Print Mode**" below
1. Press **CTRL + P** on your keyboard to launch print mode
1. Choose "**Print as PDF**" and set margin to **Default**
1. Hit **Save** and you are done

Puppeteer PDF Method

1. Choose a different project folder in your system and clone my Puppeteer project script tailored for this scenario

```sh
git clone https://github.com/webdevsk/puppeteer-to-pdf.git
```

1. Run the script

```sh
npm start
```

1. Get a freshly baked Resume/CV PDF file from the **output** directory

\*\*_You are advised not to change anything in the script without prior knowledge of Puppeteer. I have adjusted and tested the script solely for this project._\*\*

(back to top)

## Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
Don't forget to give the project a star! Thanks again!

1. Fork the Project
1. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
1. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
1. Push to the Branch (`git push origin feature/AmazingFeature`)
1. Open a Pull Request

(back to top)

## License

Distributed under the MIT License. See `LICENSE.txt` for more information.

(back to top)

## Contact

[![Follow on GitHub][GitHub]](https://github.com/webdevsk)
[![Follow on Linkedin][Linkedin]][Linkedin-url]

Project Link: [https://github.com/webdevsk/next-resume](https://github.com/webdevsk/next-resume)

(back to top)


[Linkedin-url]: https://linkedin.com/in/webdevsk
[GitHub]: https://img.shields.io/badge/github-%23121011.svg?style=for-the-badge&logo=github&logoColor=white
[Linkedin]: https://img.shields.io/badge/linkedin-%231E77B5.svg?&style=for-the-badge&logo=linkedin&logoColor=white
[contributors-shield]: https://img.shields.io/github/contributors/webdevsk/next-resume.svg?style=for-the-badge
[contributors-url]: https://github.com/webdevsk/next-resume/graphs/contributors
[forks-shield]: https://img.shields.io/github/forks/webdevsk/next-resume.svg?style=for-the-badge
[forks-url]: https://github.com/webdevsk/next-resume/network/members
[stars-shield]: https://img.shields.io/github/stars/webdevsk/next-resume.svg?style=for-the-badge
[stars-url]: https://github.com/webdevsk/next-resume/stargazers
[issues-shield]: https://img.shields.io/github/issues/webdevsk/next-resume.svg?style=for-the-badge
[issues-url]: https://github.com/webdevsk/next-resume/issues
[license-shield]: https://img.shields.io/github/license/webdevsk/next-resume.svg?style=for-the-badge
[license-url]: https://github.com/webdevsk/next-resume/blob/master/LICENSE.txt
[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge&logo=linkedin&colorB=555
[Next-url]: https://nextjs.org/
[React]: https://img.shields.io/badge/React-20232A?style=for-the-badge&logo=react&logoColor=61DAFB
[React-url]: https://reactjs.org/
[TailwindCSS]: https://img.shields.io/badge/tailwindcss-%2338B2AC.svg?style=for-the-badge&logo=tailwind-css&logoColor=white
[Tailwind-url]: https://tailwindcss.com/
[Bootstrap]: https://img.shields.io/badge/bootstrap-%238511FA.svg?style=for-the-badge&logo=bootstrap&logoColor=white
[Bootstrap-url]: https://react-bootstrap.netlify.app/
[SASS]: https://img.shields.io/badge/SASS-hotpink.svg?style=for-the-badge&logo=SASS&logoColor=white
[SASS-url]: https://sass-lang.com/
[Chakra]: https://img.shields.io/badge/chakra-%234ED1C5.svg?style=for-the-badge&logo=chakraui&logoColor=white
[Chakra-url]: https://chakra-ui.com/
[MUI]: https://img.shields.io/badge/MUI-%230081CB.svg?style=for-the-badge&logo=mui&logoColor=white
[MUI-url]: https://mui.com/
[Styled Components]: https://img.shields.io/badge/styled--components-DB7093?style=for-the-badge&logo=styled-components&logoColor=white
[Styled-url]: https://www.styled-components.com/
[React-router]: https://img.shields.io/badge/React_Router-CA4245?style=for-the-badge&logo=react-router&logoColor=white
[React-router-url]: https://reactrouter.com/
[Redux]: https://img.shields.io/badge/redux-%23593d88.svg?style=for-the-badge&logo=redux&logoColor=white
[Redux-url]: https://redux.js.org/
[Three-js]: https://img.shields.io/badge/threejs-black?style=for-the-badge&logo=three.js&logoColor=white
[Three-js-url]: https://threejs.org/
[GSAP]: https://img.shields.io/badge/green%20sock-88CE02?style=for-the-badge&logo=greensock&logoColor=white
[GSAP-url]: https://greensock.com/gsap/