- Fill out the JSON files within the
data/directory (see Data Directory below) - Edit
public/index.htmlwith the correct page<title/>. - Run
npm installto install the requirements. - Run
npm run startto start the development server.
Within the Data Directory, you'll find a file named Highlighter.json
This file contains a JSON list of terms that will be wrapped in a <mark></mark> HTML tag.
Which will give that term, when matched, a highlighted look. It is case-insensitive and punctuation independent.
The JSON looks as follows:
[ "node", "nodejs", "react", "reactjs", "javascript", "typescript" ]
THIS ONLY APPLIES TO EXPERIENCE.RESPONSIBILITIES
Scenario: A recruiter or company wants a copy of your resume, but does not want the
contact information to be shown. However, you don't want to modify your Information.json
to change display to false only for this one instance.
So what do you do? You append ?contact=hide to the url, as follows:
This will cause the contact information to be hidden dynamically.
A brief summary of your professional profile. Keep it concise, ideally within 2 sentences.
The JSON looks like this:
["Your summary goes here"]
A list of your skills. Include technical skills, languages, and soft skills.
The JSON looks like this:
[ "JavaScript", "Python", "Go", "PHP", "SQL" ]The number of columns is controlled in the config.json, but the app will automatically attempt to calculate the rows and columns, defaulting to 4 columns.
List of your publications, including articles, software, and other contributions.
The JSON looks like this:
[ { "name": "Optimizing Full-Stack Development for Scalability", "description": "An in-depth guide on building scalable full-stack applications.", "url": "https://example.com/optimizing-full-stack-development", "display": true } ]The
displayoption, as in other sections, controls whether that specific publication is displayed or not.
Your personal information. Include fields like name, title, location, email, and social media profiles.
The JSON looks like this:
{ "name": { "first": "Johnny", "middle": "B.", "last": "Good" }, "title": "Software Engineer", "meta": { "location": "Everytown, USA", "phone": "+1 123 456 7890", "email": { "address": "example@example.com", "link": false }, "socials": [ "https://facebook.com/okok", "https://twitter.com/okok", "https://linkedin.com/in/okok" ], "display": true } }There are a few items here to discuss. Our
namesection is split intofirst,middle, andlast. Our professional title goes intitle. Next, we have ourmetasection, which has quite a bit:
locationshould be in the format of:province, stateorstate, countryphoneshould be in a friendly format, ideally internationallyaddress), andlinkis a boolean which dictates whether to create amailto:linksocialsis a list of your social URLsdisplaydictates whether to display the meta information, or not.
Your work experience. Specify details such as company name, type, location, job title, start and end dates, and responsibilities. Pay attention to:
meta.type: Options include "full-time", "part-time", "contract", "internship", and "weekend"meta.remote: Options include "remote", "hybrid", "on-site".The JSON looks like this:
[ { "company": { "name": "Google", "type": "Technology", "location": "Mountain View, CA" }, "meta": { "display": true, "class": "google", "type": "full-time", "remote": "remote" }, "dates": { "start": "2018-05-01", "end": "Present" }, "title": "Senior Software Engineer", "responsibilities": "Led the development of scalable web applications" } ]There's quite a bit to go through here, so let's start:
companydetails about the company you worked forcompany.nameis the name of the companycompany.typeis the industry the company operates incompany.locationis simply the location of the company in the format "province, state" or "state, country"metacontains meta informationmeta.displaydictates whether to display this companymeta.classis a CSS class for you to target the company if you wish to change how it's displayedtypeis the type of work, one of: [full-time, part-time, contract, internship, weekend]
- full-time: Full time work, usually more than 35 hours per week
- part-time: Part time work, usually max of 30 hours per week
- contract: Contract work, usually billed hourly or by project
- internship: Internship work, some sort of professional learning experience
- weekend: Weekend work, either a second job or startup you've created where you work separate from your main job
datesare the start and end dates of your employment with the companydates.startyour start date, in format YYYY-MM-DDdates.endyour end date, in format YYYY-MM-DD - or "present" or "Present"titleis your professional title at the roleresponsibilitiesis where you define your responsibilities in the role/company
Your education history. Include degrees, schools, locations, dates, and any honors.
The JSON looks like this:
[ { "degree": { "short_name": "B.S in Computer Science", "long_name": "Bachelor of Science in Computer Science, Summa Cum Laude | 3.95 GPA" }, "school": { "name": "MIT", "location": "Cambridge, MA" }, "dates": { "showDate": true, "start": "2002-09-01", "end": "2006-06-01" }, "meta": { "display": true } } ]Let's go through this:
degree.short_nameis the degree short namedegree.long_nameis the degree long nameschool.nameis the school nameschool.locationis the school location, in format "province, state" or "state, country"dates.showDatedictates whether to display the date or notdates.startis your start date, in format YYYY-MM-DDdates.endis your graduation or completion date in format YYYY-MM-DDmeta.displaydictates whether to display this education or not
Key points summarizing your professional highlights.
The JSON looks like this:
[ "15 years of professional experience as a software engineer", "Proficient in multiple programming languages and frameworks" ]Fairly self-explanatory, it's a list of at a glance quick bits of information about yourself
Notable achievements throughout your career.
The JSON looks like this:
[ { "name": "Published Author of Multiple Technical Articles", "description": "Authored several well-received articles", "year": "2010", "meta": { "display": true } } ]
nameis the name of the achievementdescriptionis the longer description of the achievementyearis the year you received or created this achievementmeta.displaydictates whether to display this achievement
Prettier is set up to run on git commit.
In the project directory, you can run:
Runs the app in the development mode.
Open http://localhost:3000 to view it in your browser.
The page will reload when you make changes.
You may also see any lint errors in the console.
Launches the test runner in the interactive watch mode.
See the section about running tests for more
information.
Builds the app for production to the build folder.
It correctly bundles React in production mode and optimizes the build for the best performance.
The build is minified and the filenames include the hashes.
Your app is ready to be deployed!
See the section about deployment for more information.
Note: this is a one-way operation. Once you eject, you can't go back!
If you aren't satisfied with the build tool and configuration choices, you can eject at any time. This command will
remove the single build dependency from your project.
Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc.) right
into your project, so you have full control over them. All the commands except eject will still work, but they will
point to the copied scripts, so you can tweak them. At this point you're on your own.
You don't have to ever use eject. The curated feature set is suitable for small and middle deployments, and you
shouldn't feel obligated to use this feature. However, we understand that this tool wouldn't be useful if you could not
customize it when you are ready for it.
