The Complete Beginner's Guide to Building a Personal Portfolio Website
Step-by-Step Guide to Creating Your Own Personal Portfolio Website

Want to create a professional portfolio but cannot figure out how to? Use Developer Portfolio and create your own personalised portfolio today! With multiple themes to choose from, our easily customisable, user friendly website is designed to cater to developers and freelancers alike.
Table of ContentsΒ π
- Sections
- Demo
- Themes
- Installation
- Getting Started
- Folder Structure
- Usage
- Hosting
- SEO
- Packages Used
- APIs Used
- Fonts and Images
- Upcoming Features
- Contributors
Sections π
- HOME
- ABOUT
- RESUME
- EDUCATION
- SKILLS
- EXPERIENCE
- PROJECTS
- Achievements
- SERVICES
- TESTIMONIALS
- BLOG
- CONTACTS
Demo π₯
Themes π¨
Green π’

Black & WhiteΒ β«

Blue π΅

Red π΄

Purple π£

Pink

Yellow π‘

Installation β¬οΈ
You will need to download Git and Node to run thisΒ project
Also, check this out if you are new toΒ react.
Make sure you have the latest version of both Git and Node on your computer.
node --version
git --version
Getting StartedΒ π―
Fork and Clone theΒ repo
To Fork the repo click on the fork button at the top right of the page. Once the repo is forked open your terminal and perform the following commands
git clone https://github.com/<YOUR GITHUB USERNAME>/developer-portfolio.git
cd developer-portfolio
Install packages from the root directory
npm install
(or)
yarn install
Start the development server
npm start
(or)
yarn start
Folder Structure π
βββ LICENSE
βββ README.md
βββ package-lock.json
βββ package.json
βββ public
β βββ _redirects
β βββ favicon.ico
β βββ favicon.png
β βββ favicon512.png
β βββ index.html
β βββ manifest.json
β βββ robots.txt
βββ src
β βββ App.css
β βββ App.js
β βββ assets
β β βββ fonts
β β β βββ Bestermind
β β β βββ BestermindRegular.ttf
β β βββ pdf
β β β βββ resume.pdf
β β βββ svg
β β βββ about
β β βββ contacts
β β βββ education
β β βββ experience
β β βββ projects
β β βββ skills
β β βββ social
β β βββ testimonials
β βββ components
β β βββ About
β β β βββ About.css
β β β βββ About.js
β β βββ Achievements
β β β βββ Achievements.css
β β β βββ Achievements.js
β β β βββ AchievementCard.js
β β βββ BackToTop
β β β βββ BackToTop.css
β β β βββ BackToTop.js
β β βββ Blog
β β β βββ Blog.css
β β β βββ Blog.js
β β β βββ SingleBlog
β β β βββ SingleBlog.css
β β β βββ SingleBlog.js
β β βββ Contacts
β β β βββ Contacts.css
β β β βββ Contacts.js
β β βββ Education
β β β βββ Education.css
β β β βββ Education.js
β β β βββ EducationCard.js
β β βββ Experience
β β β βββ Experience.css
β β β βββ Experience.js
β β β βββ ExperienceCard.js
β β βββ Footer
β β β βββ Footer.css
β β β βββ Footer.js
β β βββ Landing
β β β βββ Landing.css
β β β βββ Landing.js
β β βββ Navbar
β β β βββ Navbar.css
β β β βββ Navbar.js
β β βββ Projects
β β β βββ Projects.css
β β β βββ Projects.js
β β β βββ SingleProject
β β β βββ SingleProject.css
β β β βββ SingleProject.js
β β βββ Services
β β β βββ Services.css
β β β βββ Services.js
β β β βββ SingleService
β β β βββ SingleService.css
β β β βββ SingleService.js
β β βββ Skills
β β β βββ Skills.css
β β β βββ Skills.js
β β βββ Testimonials
β β β βββ Testimonials.css
β β β βββ Testimonials.js
β β βββ index.js
β βββ contexts
β β βββ ThemeContext.js
β βββ data
β β βββ aboutData.js
β β βββ achievementData.js
β β βββ blogData.js
β β βββ contactsData.js
β β βββ educationData.js
β β βββ experienceData.js
β β βββ headerData.js
β β βββ projectsData.js
β β βββ servicesData.js
β β βββ skillsData.js
β β βββ socialsData.js
β β βββ testimonialsData.js
β β βββ themeData.js
β βββ index.css
β βββ index.js
β βββ pages
β β βββ Blog
β β β βββ BlogPage.css
β β β βββ BlogPage.js
β β βββ Main
β β β βββ Main.js
β β βββ Project
β β β βββ ProjectPage.css
β β β βββ ProjectPage.js
β β βββ index.js
β βββ reportWebVitals.js
β βββ theme
β β βββ images.js
β β βββ theme.js
β βββ utils
β βββ ScrollToTop.js
β βββ skillsImage.js
βββ yarn.lock
Usage πΉοΈ
Customize your details for each component in src/dataΒ folder.
Eg:
export const headerData = {
name: '-- YOUR NAME --',
title: '-- YOUR TITLE --',
desciption:'-- DESCRIPTION --',
image: '-- IMAGE --',
resumePdf: ''
}
// You can also import image and PDF from assets as shown below
import resume from '../assets/pdf/resume.pdf'
import profileImg from '../assets/png/profileImg'
export const headerData = {
name: '-- YOUR NAME --',
title: '-- YOUR TITLE --',
desciption:'-- DESCRIPTION --',
image: profileImg,
resumePdf: resume
}
Data for each component is divided into respective files.
Set website theme in src/data/themeData.js and choose your favourite font from src/App.css
About Youβ-βsrc/data/aboutData.js
Education detailsβ-βsrc/data/educationData.js
Enter your Projectsβ-βsrc/data/projectsData.js
Add your Skillsβ-βsrc/data/skillsData.js
Experienceβ-βsrc/data/experienceData.js
Achievementsβ-βsrc/data/achievementData.js
Servicesβ-βsrc/data/servicesData.js
Testimonialsβ-βsrc/data/testimonialsData.js
Your Blogs and Articlesβ-βsrc/data/blogData.js
Contact Detailsβ-βsrc/data/contactsData.js
Social Media Profilesβ-βsrc/data/contactsData.js
// EXAMPLE
export const educationData = [
{
id: 1,
institution: '-- INSTITUTION NAME --',
course: '-- COURSE NAME --',
startYear: '2017',
endYear: '2019'
},
//
]
Instructions and format for each section can be found inside the dataΒ files.
Setting Up Contacts formΒ π©
Follow these instructions to connect contacts form with Google Sheet
Hosting π
Netlify
SiteDocsDemoNetlify3 ways to deploy React apps to NetlifyYoutube
Firebase
SiteDocsDemoFirebaseDeploy a React App with FirebaseYoutube
Heroku
SiteDocsDemoHerokuDeploying React App on Heroku from GitHubYoutube
Github Pages
SiteDocsDemoGitHub PagesDeploying React App on GitHub Pages from GitHubYoutube
SEO π·οΈ
Search engine optimization (SEO) is the process of improving the quality and quantity of website traffic to a website or a web page from searchΒ engines.
Add the below code snippet to public/index.html with your site info. This step is not mandatory
<meta name="description" content="--- SITE DESCRIPTION ---" />
<meta property="og:image" content="--- YOUR IMAGE ---">
<meta property="og:site_name" content="--- YOUR NAME ---"/>
<meta property="og:title" content="--- YOUR NAME ---"/>
<meta property="og:url" content="--- YOUR SITE URL ---"/>
<meta property="og:type" content="website"/>
<meta property="og:description" content="--- SITE DESCRIPTION ---"/>
<meta property="og:locale" content="--- ---">
<meta property="og:image" content="--- YOUR IMAGE ---"/>
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta itemprop="name" content="--- YOUR NAME ---"/>
<meta itemprop="url" content="--- YOUR SITE URL ---"/>
<meta itemprop="description" content="--- SITE DESCRIPTION ---"/>
<meta itemprop="thumbnailUrl" content=""/>
<link rel="image_src" href="--- YOUR IMAGE ---"/>
<meta itemprop="image" content="--- YOUR IMAGE ---"/>
<meta name="twitter:site" content="@--- YOUR TWITTER USERNAME ---">
<meta name="twitter:creator" content="@--- YOUR TWITTER USERNAME ---">
<meta name="twitter:url" content="--- YOUR SITE URL ---"/>
<meta name="twitter:title" content="--- YOUR NAME ---">
<meta name="twitter:description" content="--- SITE DESCRIPTION ---">
<meta name="twitter:image" content="--- YOUR IMAGE ---">
<meta name="twitter:card" content="summary"/>
Packages UsedΒ π¦
Client Side Packages@material-ui/core@material-ui/iconsaxiosreact-fast-marqueereact-helmetreact-iconsreact-revealreact-router-domreact-router-hash-linkreact-slickslick-carouselvalidator
APIs UsedΒ πΊοΈ
SheetDB
Fonts and ImagesΒ π
- Illustrations
- Icons8
- SVG Porn
Icons
- Material Icons
- React Icons
Fonts
- Poppins
- Montserrat
- Raleway
- Big Shoulders Text
- Bestermind
- Roboto
Upcoming FeaturesΒ π§
- Light/Dark theme toggle
- More illustrations to choose from
- Achievements and Awards section
- More fonts to choose from
Contributors π¨βπ»
Ajith Kumar Murugan
Github Repo: https://github.com/ajitharunai/Personal-Blog-Page
About the Creator
Ajith Kumar
Founding Team @complyance.io | Engaging Minds π§ & Exploring Big Companies' Strategies | Finding ways to enhance life's journey and sharing tips for your success π₯



Comments
There are no comments for this story
Be the first to respond and start the conversation.