Skip to content

Boutzi/portfolio

Repository files navigation

Joe's Portfolio

A personal portfolio built during my web developer training — and kept evolving ever since.

Rendez-vous sur : joe.arkaans.com


About this project

This portfolio started as the final project of my web developer certification. Once submitted, instead of archiving it, I kept going — refactoring, adding features, and pushing the infrastructure further than required.

What began as a simple Vercel deployment became a full AWS-hosted application. Not because I had to, but because I wanted to understand how things work in a real production environment. AWS is unavoidable in professional settings, so I figured I'd learn it properly.

Along the way, I covered the entire DevOps lifecycle on my own:

  • Plan & Code — feature branches, pull requests, versioning
  • Build & Test — CI pipeline with ESLint, dependency audit, and build verification
  • Release & Deploy — automated deployment via AWS Amplify on merge to main
  • Operate & Monitor — CloudWatch dashboards, 5xx error alerts via SNS

Live stack

Layer Technology
Framework Next.js 16 (SSR)
Language TypeScript
Styling Tailwind CSS + shadcn/ui
i18n next-intl
Animations Framer Motion
Hosting AWS Amplify
Data storage AWS S3
DNS AWS Route 53
Testing Jest
Monitoring AWS CloudWatch
CI/CD GitHub Actions

Tech stack (full)

Next.js TypeScript React Tailwind CSS shadcn/ui Framer Motion next-intl AWS Amplify Amazon S3 Route 53 CloudWatch GitHub Actions ESLint Nodemailer Jest


CI/CD

Every push to dev triggers a GitHub Actions pipeline:

  1. Dependency install
  2. ESLint check
  3. Security audit (--audit-level=high)
  4. Unit tests
  5. Production build

Merging to main triggers an automatic deployment on AWS Amplify.


Run locally

git clone https://github.com/Boutzi/portfolio.git
cd portfolio
npm install --legacy-peer-deps

Create a .env file at the root with the following variables:

# GITHUB
NEXT_PUBLIC_GITHUB_BEARER_TOKEN=

# AWS S3
NEXT_PUBLIC_S3_BUCKET_URL=https://joe-portfolio-data.s3.eu-west-3.amazonaws.com

# NODEMAILER
NEXT_PUBLIC_GMAIL_USER=
NEXT_PUBLIC_GMAIL_PASSWORD=
NEXT_PUBLIC_PROTONMAIL_USER=
npm run dev

License

This project is open source. Feel free to explore the code, get inspired, or reach out if you have questions.

About

Built with Next.js, TypeScript, and Tailwind CSS, my portfolio showcases my work and skills in a clean and modern design using shadcn/ui.

Topics

Resources

Stars

Watchers

Forks

Contributors