My portfolio site with details about myself and my latest projects.
Visit the live version.
I created this while looking for some interesting tutorial on Framer Motion and ended up implementing this design by CodeBucks.
To keep things interesting I made some changes to the original version:
- updated the color scheme for both light and dark mode
- used the NextJS app router instead of the page router
- used typescript
- added tech stack details to the project page, showing icons of the technologies used
- created individual pages for each project, with a description and slideshow of screenshoots
- implemented a contact form, including validation and recaptcha
- extracted data and componentes logic out of the main pages, to make it easier to edit and use this repo as a template for a new portfolio
- added Google Analytics
To use this as a template for your own portfolio:
- Clone the repository
git clone https://github.com/Mirthis/portfolio
- Create an environment file
cp .env.template .env.local
- Populate the enviroment file with the required details
- Update the homepage content and navbar links in
/src/data/home.ts
- Update the about page cotnent in
/src/app/data/about.ts
.
To show more than 10 skills theskillPosition
variable in theSkills
component need to be update to add the coordinate where the additional skills will be displayed (/src/app/components/Skills
). - Update the project details in
/src/data/projects.ts
and components under '/src/data/projects'. The componented are used for the description section in each project detail page, so that the description can contain markup. - Additional tech icons need to be added to
/src/components/Icons.tsx
and to thetechIcons
array in theTechIcons
compionent (/src/components/TechIcons.tsx
).
Iconify is a good place to find icons and the corresponding JSX code. - Update the
/public/sitemap.xml
to reflect your domain