Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
b71fa6c
update personal information and dependencies
Harrisj22412 Nov 21, 2024
2e6a13f
Update README.md
Harrisj22412 Nov 21, 2024
a1bba78
remove Instagram links from AboutMe, Footer, and Navbar components
Harrisj22412 Nov 21, 2024
65bc150
Merge branch 'main' of https://github.com/Harrisj22412/simple-develop…
Harrisj22412 Nov 21, 2024
9b58b3e
Create nextjs.yml
Harrisj22412 Nov 21, 2024
30f07f4
Create jekyll.yml
Harrisj22412 Nov 22, 2024
a4a74e9
Merge pull request #1 from Harrisj22412/Harrisj22412-patch-1
Harrisj22412 Nov 22, 2024
0de5ff7
Update .env.example with new GitHub credentials
Harrisj22412 Nov 22, 2024
01abfd6
Add GitHub credentials to .env.example and create GitHub Actions work…
Harrisj22412 Nov 22, 2024
82be4bf
Merge branch 'main' of https://github.com/Harrisj22412/simple-develop…
Harrisj22412 Nov 22, 2024
56f9507
Update jekyll.yml
Harrisj22412 Nov 22, 2024
fd565ad
Update jekyll.yml
Harrisj22412 Nov 22, 2024
60d2778
Update nextjs.yml
Harrisj22412 Nov 22, 2024
aa0a1fb
Update image references and modify designation in components
Harrisj22412 Nov 23, 2024
8bb1a6f
Update nextjs.yml
Harrisj22412 Nov 25, 2024
59a1645
Update nextjs.yml
Harrisj22412 Nov 25, 2024
24d28eb
deleted jekyll
Harrisj22412 Nov 25, 2024
3effcc0
Rename components and update project details in user data
Harrisj22412 Nov 25, 2024
e98b6c5
Merge branch 'main' of https://github.com/Harrisj22412/simple-develop…
Harrisj22412 Nov 25, 2024
ca9557f
Merge branch 'main' of https://github.com/Harrisj22412/simple-develop…
Harrisj22412 Nov 25, 2024
1db7787
Update token variable reference in getLatestRepos.js
Harrisj22412 Nov 25, 2024
26ef0a5
test
Harrisj22412 Nov 25, 2024
e4227e5
Update environment variable name for GitHub authentication token
Harrisj22412 Nov 25, 2024
1b2e962
test
Harrisj22412 Nov 25, 2024
8b3894f
Update contact details, project titles, and image references in vario…
Harrisj22412 Nov 25, 2024
4d1338a
Update image reference in ContainerBlock, remove peerlist link from d…
Harrisj22412 Nov 25, 2024
cfe6571
Add new technology icons to AboutMe component and update project link…
Harrisj22412 Nov 25, 2024
d29a7c6
Update links in FavoriteProjects and data constants, add .netlify to …
Harrisj22412 Nov 26, 2024
64bb66c
added more projects
Harrisj22412 Dec 10, 2024
3254125
added more projects
Harrisj22412 Dec 10, 2024
2e42ca6
testing
Harrisj22412 Dec 10, 2024
f9899a2
added vercel analytics package
Harrisj22412 Dec 10, 2024
cde7251
updated facetime app project
Harrisj22412 Dec 10, 2024
8bf9bee
fixing the build for deployment for github actions
Harrisj22412 Dec 10, 2024
d17aa49
fixing the build for deployment for github actions
Harrisj22412 Dec 10, 2024
585156e
Merge branch 'CICD-fix' of https://github.com/Harrisj22412/simple-dev…
Harrisj22412 Dec 10, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions .env.example

This file was deleted.

91 changes: 91 additions & 0 deletions .github/workflows/nextjs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
# Sample workflow for building and deploying a Next.js site to GitHub Pages
#
# To get started with Next.js see: https://nextjs.org/docs/getting-started
#
name: Deploy Next.js site to Pages

on:
# Runs on pushes targeting the default branch
push:
branches: ["main"]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write

# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false

jobs:
# Build job
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Detect package manager
id: detect-package-manager
run: |
if [ -f "${{ github.workspace }}/yarn.lock" ]; then
echo "manager=yarn" >> $GITHUB_OUTPUT
echo "command=install" >> $GITHUB_OUTPUT
echo "runner=yarn" >> $GITHUB_OUTPUT
exit 0
elif [ -f "${{ github.workspace }}/package.json" ]; then
echo "manager=npm" >> $GITHUB_OUTPUT
echo "command=ci" >> $GITHUB_OUTPUT
echo "runner=npx --no-install" >> $GITHUB_OUTPUT
exit 0
else
echo "Unable to determine package manager"
exit 1
fi
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: "20"
cache: ${{ steps.detect-package-manager.outputs.manager }}
- name: Setup Pages
uses: actions/configure-pages@v5
with:
# Automatically inject basePath in your Next.js configuration file and disable
# server side image optimization (https://nextjs.org/docs/api-reference/next/image#unoptimized).
#
# You may remove this line if you want to manage the configuration yourself.
static_site_generator: next
- name: Restore cache
uses: actions/cache@v4
with:
path: |
.next/cache
# Generate a new cache whenever packages or source files change.
key: ${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json', '**/yarn.lock') }}-${{ hashFiles('**.[jt]s', '**.[jt]sx') }}
# If source files changed but packages didn't, rebuild from a prior cache.
restore-keys: |
${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json', '**/yarn.lock') }}-
- name: Install dependencies
run: ${{ steps.detect-package-manager.outputs.manager }} ${{ steps.detect-package-manager.outputs.command }}
- name: Build Next.js site
run: ${{ steps.detect-package-manager.outputs.runner }} next build
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: github-pages
path: .next

# Deployment job
deploy:
runs-on: ubuntu-latest
needs: build
environment:
name: github-pages
url: ${{ github.event.repository.html_url }}

3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -32,3 +32,6 @@ yarn-error.log*

# vercel
.vercel

# Local Netlify folder
.netlify
75 changes: 0 additions & 75 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,76 +1 @@
## Portfolio Website For Developers 💯

**UPDATE:**


1. Wrote a detailed blog on [freeCodeCamp](https://www.freecodecamp.org/news/how-to-build-a-portfolio-site-with-nextjs-tailwindcss/), describing and explaining how I built this application from the ground up.

2. Included the `constants` folder, where you can directly add your details and it'll get reflected throughout the application. No more customizations for the template required, just add your data and it'll reflect immediately.

Portfolio for developers is a simple and minimalistic website to showcase your skills and projects as a developer. The design is inspired by [Kevin Clark](https://kevinclark.ca). The website is completely Open Source, you can use it for whatever purpose you want.

![HomeGif](https://github.com/manuarora700/simple-developer-portfolio-website/blob/main/demo-images/websitegif.gif)

# Features

- Responsive layout, works well on both Mobile and Desktop
- Dark mode support. Click buttons to toggle dark mode and light mode.
- Clear React components and tailwind styling.
- Exact sections that a developer needs to showcase their skills.
- Clear call to actions.

# Pages

I've kept the pages as simple as possible. Only the required sections are included with minimal content.

## Landing

![Hompage](https://github.com/manuarora700/simple-developer-portfolio-website/blob/main/demo-images/home.png)

## About

![Hompage](https://github.com/manuarora700/simple-developer-portfolio-website/blob/main/demo-images/about.png)

## Projects

![Hompage](https://github.com/manuarora700/simple-developer-portfolio-website/blob/main/demo-images/projects.png)

## Experience

![Hompage](https://github.com/manuarora700/simple-developer-portfolio-website/blob/main/demo-images/experience.png)

## Contact

![Hompage](https://github.com/manuarora700/simple-developer-portfolio-website/blob/main/demo-images/contact.png)

# Tech Stack

The website is built in my favourite Tech Stack and deployed on [Vercel](https://vercel.com)

- [Next.js](https://nextjs.org) for building React Components.
- [tailwindcss](https://tailwindcss.com) for styling.
- [React Rough Notation](https://roughnotation.com) for Hero section highlighting.
- [Vercel](https://vercel.com) for deployments and CI/CD.

# Usage

- Clone the repository using `git clone https://github.com/manuarora700/simple-developer-portfolio-website.git`
- Install all the modules by using `npm i` or `npm install` or `yarn`
- Run the local development server by using `npm run dev` or `yarn dev`
- Make the required edits and deploy to YOUR GitHub repo for CI/CD.

# Deployment

Deployment can be done in 3 easy steps.

- Login to [Vercel](https://vercel.com) or signup for an account if you don't have one.
- Create a `New Project` and select YOUR GitHub repository of the portfolio project.
- Wait for Vercel to deploy your project to production.

# License

This template is completely open source and free to use. Use it for client projects or your own portfolio project. Give me credits at the footer (If you wish, it'll help me a lot :)).

# Support

<a href="https://www.buymeacoffee.com/manuarora" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/default-orange.png" alt="Buy Me A Coffee" height="41" width="174"></a>
56 changes: 21 additions & 35 deletions components/AboutMe.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import userData from "@constants/data";

export default function AboutMe() {
return (
//Test
<section className="bg-white dark:bg-gray-800">
<div className="max-w-6xl mx-auto h-48 bg-white dark:bg-gray-800">
<h1 className=" text-5xl md:text-9xl font-bold py-20 text-center md:text-left">
Expand Down Expand Up @@ -67,40 +68,15 @@ export default function AboutMe() {
</h1>
<div className="mt-4 ml-4">
<div className="flex flex-row justify-start items-center ">
<a
href={userData.socialLinks.peerlist}
className="flex flex-row items-center space-x-4 group"
>
<div className="my-4">&rarr;</div>
<div className="text-lg text-gray-500 font-mono relative overflow-hidden dark:text-gray-300">
<div className="absolute h-0.5 w-full bg-gray-400 bottom-0 transform -translate-x-24 group-hover:translate-x-0 transition duration-300"></div>
Peerlist
</div>
</a>
</div>
<div className="flex flex-row justify-start items-center ">
<a
href={userData.socialLinks.facebook}
className="flex flex-row items-center space-x-4 group"
>
<div className="my-4">&rarr;</div>
<div className="text-lg text-gray-500 font-mono relative overflow-hidden dark:text-gray-300">
<div className="absolute h-0.5 w-full bg-gray-400 bottom-0 transform -translate-x-24 group-hover:translate-x-0 transition duration-300"></div>
Facebook
</div>
</a>
</div>
<div className="flex flex-row justify-start items-center">
<a
href={userData.socialLinks.twitter}
className="flex flex-row items-center space-x-4 group"
>
<div className="my-4">&rarr;</div>
<div className="text-lg text-gray-500 font-mono relative overflow-hidden dark:text-gray-300">
<div className="absolute h-0.5 w-full bg-gray-400 bottom-0 transform -translate-x-24 group-hover:translate-x-0 transition duration-300"></div>
Twitter
</div>
</a>
</div>
<div className="flex flex-row justify-start items-center">
<a
Expand All @@ -127,16 +103,6 @@ export default function AboutMe() {
</a>
</div>
<div className="flex flex-row justify-start items-center">
<a
href={userData.socialLinks.instagram}
className="flex flex-row items-center space-x-4 group"
>
<div className="my-4">&rarr;</div>
<div className="text-lg text-gray-500 font-mono relative overflow-hidden dark:text-gray-300">
<div className="absolute h-0.5 w-full bg-gray-400 bottom-0 transform -translate-x-28 group-hover:translate-x-0 transition duration-300"></div>
Instagram
</div>
</a>
</div>
</div>
</div>
Expand Down Expand Up @@ -203,6 +169,26 @@ export default function AboutMe() {
src="https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/mongodb/mongodb.png"
className="h-20 w-20 mx-4 my-4"
/>
<img
src="https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/docker/docker.png"
className="h-20 w-20 mx-4 my-4"
/>
<img
src="https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/django/django.png"
className="h-20 w-20 mx-4 my-4"
/>
<img
src="https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/terraform/terraform.png"
className="h-20 w-20 mx-4 my-4"
/>
<img
src="https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/python/python.png"
className="h-20 w-20 mx-4 my-4"
/>
<img
src="https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/redis/redis.png"
className="h-20 w-20 mx-4 my-4"
/>
</div>
</div>
</div>
Expand Down
83 changes: 2 additions & 81 deletions components/Contact.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,19 +22,7 @@ export default function Contact() {
</header>
<div className="icons-container inline-flex flex-col my-20">
<div className="flex flex-row items-center space-x-6 rounded-md border border-[#02044A] hover:border hover:border-blue-500 p-4">
<svg
xmlns="http://www.w3.org/2000/svg"
width="16"
height="16"
fill="currentColor"
className="bi bi-telephone-fill h-4 w-4 text-blue-500"
viewBox="0 0 16 16"
>
<path
fillRule="evenodd"
d="M1.885.511a1.745 1.745 0 0 1 2.61.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511z"
/>
</svg>

<p className="text-gray-50 font-light text-sm">
{userData.phone}
</p>
Expand Down Expand Up @@ -71,74 +59,7 @@ export default function Contact() {
</div>
</div>
<div className="social-icons flex flex-row space-x-8">
<a
href={userData.socialLinks.facebook}
className="h-10 w-10 rounded-full hover:bg-blue-500 flex items-center justify-center cursor-pointer"
>
<svg
width="24"
height="24"
className="text-gray-50"
viewBox="0 0 24 24"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M9.19795 21.5H13.198V13.4901H16.8021L17.198 9.50977H13.198V7.5C13.198 6.94772 13.6457 6.5 14.198 6.5H17.198V2.5H14.198C11.4365 2.5 9.19795 4.73858 9.19795 7.5V9.50977H7.19795L6.80206 13.4901H9.19795V21.5Z"
fill="currentColor"
/>
</svg>
</a>
<a
href={userData.socialLinks.twitter}
className="h-10 w-10 rounded-full hover:bg-blue-500 flex items-center justify-center cursor-pointer"
>
<svg
width="24"
height="24"
className="text-gray-50"
viewBox="0 0 24 24"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
fillRule="evenodd"
clipRule="evenodd"
d="M8 3C9.10457 3 10 3.89543 10 5V8H16C17.1046 8 18 8.89543 18 10C18 11.1046 17.1046 12 16 12H10V14C10 15.6569 11.3431 17 13 17H16C17.1046 17 18 17.8954 18 19C18 20.1046 17.1046 21 16 21H13C9.13401 21 6 17.866 6 14V5C6 3.89543 6.89543 3 8 3Z"
fill="currentColor"
/>
</svg>
</a>
<a
href={userData.socialLinks.instagram}
className="h-10 w-10 rounded-full hover:bg-blue-500 flex items-center justify-center cursor-pointer"
>
<svg
width="24"
height="24"
className="text-gray-50"
viewBox="0 0 24 24"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
fillRule="evenodd"
clipRule="evenodd"
d="M12 7C9.23858 7 7 9.23858 7 12C7 14.7614 9.23858 17 12 17C14.7614 17 17 14.7614 17 12C17 9.23858 14.7614 7 12 7ZM9 12C9 13.6569 10.3431 15 12 15C13.6569 15 15 13.6569 15 12C15 10.3431 13.6569 9 12 9C10.3431 9 9 10.3431 9 12Z"
fill="currentColor"
/>
<path
d="M18 5C17.4477 5 17 5.44772 17 6C17 6.55228 17.4477 7 18 7C18.5523 7 19 6.55228 19 6C19 5.44772 18.5523 5 18 5Z"
fill="currentColor"
/>
<path
fillRule="evenodd"
clipRule="evenodd"
d="M5 1C2.79086 1 1 2.79086 1 5V19C1 21.2091 2.79086 23 5 23H19C21.2091 23 23 21.2091 23 19V5C23 2.79086 21.2091 1 19 1H5ZM19 3H5C3.89543 3 3 3.89543 3 5V19C3 20.1046 3.89543 21 5 21H19C20.1046 21 21 20.1046 21 19V5C21 3.89543 20.1046 3 19 3Z"
fill="currentColor"
/>
</svg>
</a>

</div>
</div>
<form className="form rounded-lg bg-white p-4 flex flex-col">
Expand Down
Loading