https://github.com/sa001gar/portfolio-website-next-js
A Hacker-inspired Developer Portfolio with terminal vibes and classic green-on-black aesthetics
https://github.com/sa001gar/portfolio-website-next-js
blog contentful-cms developer nextjs15 portfolio portfolio-site portfolio-template portfolio-website software software-developer software-developer-portfolio
Last synced: 9 days ago
JSON representation
A Hacker-inspired Developer Portfolio with terminal vibes and classic green-on-black aesthetics
- Host: GitHub
- URL: https://github.com/sa001gar/portfolio-website-next-js
- Owner: sa001gar
- License: agpl-3.0
- Created: 2025-05-23T16:54:20.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-12-26T22:54:43.000Z (7 months ago)
- Last Synced: 2025-12-28T13:13:10.280Z (7 months ago)
- Topics: blog, contentful-cms, developer, nextjs15, portfolio, portfolio-site, portfolio-template, portfolio-website, software, software-developer, software-developer-portfolio
- Language: TypeScript
- Homepage: https://portfolio.sagarkundu.live
- Size: 7.72 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
โฏ Sagar Kundu | Full Stack Developer & Cyber Expert
Built with the tools and technologies:
## ๐ Table of Contents
- [๐ Overview](#-overview)
- [๐พ Features](#-features)
- [๐ Project Structure](#-project-structure)
- [๐ Project Index](#-project-index)
- [๐ Getting Started](#-getting-started)
- [โ๏ธ Prerequisites](#-prerequisites)
- [โ๏ธ Installation](#-installation)
- [๐ค Usage](#๐ค-usage)
- [๐งช Testing](#๐งช-testing)
- [๐ Project Roadmap](#-project-roadmap)
- [๐ฐ Contributing](#-contributing)
- [๐ License](#-license)
- [๐ Acknowledgments](#-acknowledgments)
---
## ๐ Overview
This portfolio website is built using **Next.js**, a powerful React framework for server-side rendering and static site generation. It leverages **Contentful CMS** as the backend to manage and deliver content seamlessly. The combination of these technologies ensures a fast, scalable, and dynamic user experience, making it an ideal platform to showcase projects, skills, and professional achievements.
---
## ๐พ Features
- **Dynamic Blog Section**: A fully dynamic blog section that fetches and displays articles from a CMS, allowing for seamless content updates without redeploying the site.
- **Projects Showcase**: A visually appealing and interactive projects section that highlights your work with detailed descriptions, images, and links to live demos or repositories.
- **Linux-Inspired UI**: A sleek, hacker-style interface inspired by Linux terminal aesthetics, featuring dark mode, terminal-like animations, and a focus on backend development tools.
- **Responsive Design**: Fully responsive layout ensuring a seamless experience across all devices, from desktops to mobile phones.
- **Contentful CMS Integration**: Backend powered by Contentful CMS for easy content management and scalability.
- **Fast and Secure**: Built with Next.js for server-side rendering and optimized performance, ensuring fast load times and enhanced security.
- **Customizable Themes**: Ability to switch between themes, including a hacker-style dark theme and a professional light theme.
- **SEO Optimized**: Fully optimized for search engines to improve visibility and reach.
- **Interactive Animations**: Subtle animations and transitions to enhance user engagement without compromising performance.
- **Developer-Friendly**: Clean, modular codebase with extensive documentation for easy customization and contribution.
---
## ๐ Project Structure
```sh
โโโ portfolio-website-next-js/
โโโ README.md
โโโ app
โ โโโ about
โ โ โโโ loading.tsx
โ โ โโโ page.tsx
โ โโโ blog
โ โ โโโ [slug]
โ โ โโโ loading.tsx
โ โ โโโ page.tsx
โ โโโ contact
โ โ โโโ loading.tsx
โ โ โโโ page.tsx
โ โโโ experience
โ โ โโโ loading.tsx
โ โ โโโ page.tsx
โ โโโ globals.css
โ โโโ layout.tsx
โ โโโ loading.tsx
โ โโโ page.tsx
โ โโโ project
โ โ โโโ [slug]
โ โ โโโ loading.tsx
โ โ โโโ page.tsx
โ โโโ robots.ts
โ โโโ sitemap.ts
โโโ bun.lock
โโโ components
โ โโโ analytics.tsx
โ โโโ animated-section.tsx
โ โโโ animation-settings-panel.tsx
โ โโโ command-line.tsx
โ โโโ contact-form.tsx
โ โโโ contact-section.tsx
โ โโโ credentials-section.tsx
โ โโโ enhanced-profile.tsx
โ โโโ enhanced-scroll-indicator.tsx
โ โโโ experience-card.tsx
โ โโโ page-loader.tsx
โ โโโ portfolio-header.tsx
โ โโโ project-card.tsx
โ โโโ pwa-install-prompt.tsx
โ โโโ scroll-progress-indicator.tsx
โ โโโ scroll-to-top-button.tsx
โ โโโ scroll-to-top.tsx
โ โโโ search-filter.tsx
โ โโโ service-worker-registration.tsx
โ โโโ sidebar.tsx
โ โโโ skill-tag.tsx
โ โโโ social-links.tsx
โ โโโ terminal-command.tsx
โ โโโ terminal-loader.tsx
โ โโโ terminal-provider.tsx
โ โโโ terminal-text.tsx
โ โโโ terminal-window.tsx
โ โโโ theme-provider.tsx
โ โโโ ui
โ โโโ accordion.tsx
โ โโโ alert-dialog.tsx
โ โโโ alert.tsx
โ โโโ aspect-ratio.tsx
โ โโโ avatar.tsx
โ โโโ badge.tsx
โ โโโ breadcrumb.tsx
โ โโโ button.tsx
โ โโโ calendar.tsx
โ โโโ card.tsx
โ โโโ carousel.tsx
โ โโโ chart.tsx
โ โโโ checkbox.tsx
โ โโโ collapsible.tsx
โ โโโ command.tsx
โ โโโ context-menu.tsx
โ โโโ dialog.tsx
โ โโโ drawer.tsx
โ โโโ dropdown-menu.tsx
โ โโโ form.tsx
โ โโโ hover-card.tsx
โ โโโ input-otp.tsx
โ โโโ input.tsx
โ โโโ label.tsx
โ โโโ menubar.tsx
โ โโโ navigation-menu.tsx
โ โโโ pagination.tsx
โ โโโ popover.tsx
โ โโโ progress.tsx
โ โโโ radio-group.tsx
โ โโโ resizable.tsx
โ โโโ scroll-area.tsx
โ โโโ select.tsx
โ โโโ separator.tsx
โ โโโ sheet.tsx
โ โโโ sidebar.tsx
โ โโโ skeleton.tsx
โ โโโ slider.tsx
โ โโโ sonner.tsx
โ โโโ switch.tsx
โ โโโ table.tsx
โ โโโ tabs.tsx
โ โโโ textarea.tsx
โ โโโ toast.tsx
โ โโโ toaster.tsx
โ โโโ toggle-group.tsx
โ โโโ toggle.tsx
โ โโโ tooltip.tsx
โ โโโ use-mobile.tsx
โ โโโ use-toast.ts
โโโ components.json
โโโ contexts
โ โโโ animation-context.tsx
โโโ data
โ โโโ portfolio-data.json
โโโ hooks
โ โโโ use-intersection-observer.ts
โ โโโ use-mobile.tsx
โ โโโ use-toast.ts
โโโ lib
โ โโโ data.ts
โ โโโ projects.ts
โ โโโ sitemap-utils.ts
โ โโโ utils.ts
โโโ next.config.mjs
โโโ package.json
โโโ pnpm-lock.yaml
โโโ postcss.config.mjs
โโโ public
โ โโโ browserconfig.xml
โ โโโ certs
โ โ โโโ ec-council.png
โ โโโ favicon.avif
โ โโโ placeholder-logo.png
โ โโโ placeholder-logo.svg
โ โโโ placeholder-user.jpg
โ โโโ placeholder.jpg
โ โโโ placeholder.svg
โ โโโ projects
โ โ โโโ applied-physio
โ โโโ sagarkundu.avif
โ โโโ sagarkundu_square.avif
โ โโโ site.webmanifest
โ โโโ sw.js
โโโ styles
โ โโโ globals.css
โโโ tailwind.config.js
โโโ tsconfig.json
```
### ๐ Project Index
PORTFOLIO-WEBSITE-NEXT-JS/
__root__
next.config.mjs
โฏ REPLACE-ME
pnpm-lock.yaml
โฏ REPLACE-ME
tsconfig.json
โฏ REPLACE-ME
tailwind.config.js
โฏ REPLACE-ME
postcss.config.mjs
โฏ REPLACE-ME
package.json
โฏ REPLACE-ME
components.json
โฏ REPLACE-ME
contexts
animation-context.tsx
โฏ REPLACE-ME
lib
data.ts
โฏ REPLACE-ME
sitemap-utils.ts
โฏ REPLACE-ME
projects.ts
โฏ REPLACE-ME
utils.ts
โฏ REPLACE-ME
styles
globals.css
โฏ REPLACE-ME
components
portfolio-header.tsx
โฏ REPLACE-ME
pwa-install-prompt.tsx
โฏ REPLACE-ME
terminal-loader.tsx
โฏ REPLACE-ME
contact-form.tsx
โฏ REPLACE-ME
theme-provider.tsx
โฏ REPLACE-ME
scroll-to-top.tsx
โฏ REPLACE-ME
credentials-section.tsx
โฏ REPLACE-ME
skill-tag.tsx
โฏ REPLACE-ME
search-filter.tsx
โฏ REPLACE-ME
scroll-progress-indicator.tsx
โฏ REPLACE-ME
terminal-window.tsx
โฏ REPLACE-ME
animation-settings-panel.tsx
โฏ REPLACE-ME
sidebar.tsx
โฏ REPLACE-ME
contact-section.tsx
โฏ REPLACE-ME
scroll-to-top-button.tsx
โฏ REPLACE-ME
analytics.tsx
โฏ REPLACE-ME
animated-section.tsx
โฏ REPLACE-ME
social-links.tsx
โฏ REPLACE-ME
enhanced-scroll-indicator.tsx
โฏ REPLACE-ME
terminal-provider.tsx
โฏ REPLACE-ME
page-loader.tsx
โฏ REPLACE-ME
experience-card.tsx
โฏ REPLACE-ME
project-card.tsx
โฏ REPLACE-ME
enhanced-profile.tsx
โฏ REPLACE-ME
terminal-command.tsx
โฏ REPLACE-ME
terminal-text.tsx
โฏ REPLACE-ME
service-worker-registration.tsx
โฏ REPLACE-ME
command-line.tsx
โฏ REPLACE-ME
ui
context-menu.tsx
โฏ REPLACE-ME
toaster.tsx
โฏ REPLACE-ME
accordion.tsx
โฏ REPLACE-ME
alert-dialog.tsx
โฏ REPLACE-ME
radio-group.tsx
โฏ REPLACE-ME
checkbox.tsx
โฏ REPLACE-ME
input-otp.tsx
โฏ REPLACE-ME
sheet.tsx
โฏ REPLACE-ME
progress.tsx
โฏ REPLACE-ME
badge.tsx
โฏ REPLACE-ME
breadcrumb.tsx
โฏ REPLACE-ME
sidebar.tsx
โฏ REPLACE-ME
pagination.tsx
โฏ REPLACE-ME
label.tsx
โฏ REPLACE-ME
scroll-area.tsx
โฏ REPLACE-ME
input.tsx
โฏ REPLACE-ME
textarea.tsx
โฏ REPLACE-ME
toast.tsx
โฏ REPLACE-ME
separator.tsx
โฏ REPLACE-ME
toggle-group.tsx
โฏ REPLACE-ME
command.tsx
โฏ REPLACE-ME
popover.tsx
โฏ REPLACE-ME
slider.tsx
โฏ REPLACE-ME
form.tsx
โฏ REPLACE-ME
select.tsx
โฏ REPLACE-ME
button.tsx
โฏ REPLACE-ME
drawer.tsx
โฏ REPLACE-ME
toggle.tsx
โฏ REPLACE-ME
dialog.tsx
โฏ REPLACE-ME
alert.tsx
โฏ REPLACE-ME
carousel.tsx
โฏ REPLACE-ME
navigation-menu.tsx
โฏ REPLACE-ME
table.tsx
โฏ REPLACE-ME
tabs.tsx
โฏ REPLACE-ME
skeleton.tsx
โฏ REPLACE-ME
use-toast.ts
โฏ REPLACE-ME
switch.tsx
โฏ REPLACE-ME
dropdown-menu.tsx
โฏ REPLACE-ME
collapsible.tsx
โฏ REPLACE-ME
menubar.tsx
โฏ REPLACE-ME
resizable.tsx
โฏ REPLACE-ME
chart.tsx
โฏ REPLACE-ME
avatar.tsx
โฏ REPLACE-ME
hover-card.tsx
โฏ REPLACE-ME
aspect-ratio.tsx
โฏ REPLACE-ME
calendar.tsx
โฏ REPLACE-ME
tooltip.tsx
โฏ REPLACE-ME
sonner.tsx
โฏ REPLACE-ME
use-mobile.tsx
โฏ REPLACE-ME
card.tsx
โฏ REPLACE-ME
hooks
use-intersection-observer.ts
โฏ REPLACE-ME
use-toast.ts
โฏ REPLACE-ME
use-mobile.tsx
โฏ REPLACE-ME
public
favicon.avif
โฏ REPLACE-ME
sagarkundu_square.avif
โฏ REPLACE-ME
sagarkundu.avif
โฏ REPLACE-ME
site.webmanifest
โฏ REPLACE-ME
sw.js
โฏ REPLACE-ME
projects
applied-physio
main.avif
โฏ REPLACE-ME
services.avif
โฏ REPLACE-ME
contact.avif
โฏ REPLACE-ME
app
layout.tsx
โฏ REPLACE-ME
sitemap.ts
โฏ REPLACE-ME
globals.css
โฏ REPLACE-ME
page.tsx
โฏ REPLACE-ME
loading.tsx
โฏ REPLACE-ME
robots.ts
โฏ REPLACE-ME
about
page.tsx
โฏ REPLACE-ME
loading.tsx
โฏ REPLACE-ME
contact
page.tsx
โฏ REPLACE-ME
loading.tsx
โฏ REPLACE-ME
experience
page.tsx
โฏ REPLACE-ME
loading.tsx
โฏ REPLACE-ME
project
page.tsx
โฏ REPLACE-ME
loading.tsx
โฏ REPLACE-ME
[slug]
not-found.tsx
โฏ REPLACE-ME
page.tsx
โฏ REPLACE-ME
loading.tsx
โฏ REPLACE-ME
blog
page.tsx
โฏ REPLACE-ME
loading.tsx
โฏ REPLACE-ME
[slug]
page.tsx
โฏ REPLACE-ME
loading.tsx
โฏ REPLACE-ME
---
## ๐ Getting Started
### โ๏ธ Prerequisites
Before getting started with portfolio-website-next-js, ensure your runtime environment meets the following requirements:
- **Programming Language:** TypeScript
- **Package Manager:** Npm
### โ๏ธ Installation
Install portfolio-website-next-js using one of the following methods:
**Build from source:**
1. Clone the portfolio-website-next-js repository:
```sh
โฏ git clone https://github.com/sa001gar/portfolio-website-next-js
```
2. Navigate to the project directory:
```sh
โฏ cd portfolio-website-next-js
```
3. Install the project dependencies:
**Using `npm`** ย [
](https://www.npmjs.com/)
```sh
โฏ npm install
```
### ๐ค Usage
Run portfolio-website-next-js using the following command:
**Using `npm`** ย [
](https://www.npmjs.com/)
```sh
โฏ npm start
```
### ๐งช Testing
Run the test suite using the following command:
**Using `npm`** ย [
](https://www.npmjs.com/)
```sh
โฏ npm test
```
---
## ๐ Project Roadmap
- [X] **`Task 1`**: Contact form submission through Web3 forms.
- [X] **`Task 2`**: Blog Posting using Contentful Headless CMS.
- [ ] **`Task 3`**: SEO optimization and Improve Page Speed.
---
## ๐ฐ Contributing
- **๐ฌ [Join the Discussions](https://github.com/sa001gar/portfolio-website-next-js/discussions)**: Share your insights, provide feedback, or ask questions.
- **๐ [Report Issues](https://github.com/sa001gar/portfolio-website-next-js/issues)**: Submit bugs found or log feature requests for the `portfolio-website-next-js` project.
- **๐ก [Submit Pull Requests](https://github.com/sa001gar/portfolio-website-next-js/blob/main/CONTRIBUTING.md)**: Review open PRs, and submit your own PRs.
Contributing Guidelines
1. **Fork the Repository**: Start by forking the project repository to your github account.
2. **Clone Locally**: Clone the forked repository to your local machine using a git client.
```sh
git clone https://github.com/sa001gar/portfolio-website-next-js
```
3. **Create a New Branch**: Always work on a new branch, giving it a descriptive name.
```sh
git checkout -b new-feature-x
```
4. **Make Your Changes**: Develop and test your changes locally.
5. **Commit Your Changes**: Commit with a clear message describing your updates.
```sh
git commit -m 'Implemented new feature x.'
```
6. **Push to github**: Push the changes to your forked repository.
```sh
git push origin new-feature-x
```
7. **Submit a Pull Request**: Create a PR against the original project repository. Clearly describe the changes and their motivations.
8. **Review**: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution!
Contributor Graph
---
## ๐ License
This project is protected under the [GNU Affero General Public License v3.0](LICENSE) License. For more details, refer to the [LICENSE](LICENSE) file.
---
## ๐ Acknowledgments
- Props to my mom for unintentionally dropping the UI idea that sparked this terminal-style hacker aesthetic. Genius hides in plain sight.
---