zer0-kr/awesome-portfolio-template
The modern, production-ready portfolio template for senior engineers. Next.js 16 + Tailwind CSS v4 + Framer Motion + i18n + Dark Mode.
하이라이트
- 경력 상세 페이지 —
/career에서 프로젝트별 배경, 역할, 성과, 교훈을 상세 서술 - 다국어 기본 내장 —
next-intl기반 URL 라우팅(/ko,/en) 완전 분리, 언어 추가 용이 - 설정 파일 하나로 끝 —
site.ts+ 데이터 파일 7개만 수정. 컴포넌트 코드 수정 불필요 - 완성도 높은 디자인 — Framer Motion 애니메이션, 그라데이션 오브, 스크롤 인디케이터 포함
주요 기능
|
다국어 (i18n)
|
다크 / 라이트 모드 시스템 설정 자동 감지. 수동 토글 지원. 전환 시 깜빡임 제로. |
경력 상세 페이지
|
|
Framer Motion 카드 진입 효과, 플로팅 오브, 스크롤 인디케이터. |
SEO 최적화 JSON-LD, Open Graph 이미지 자동 생성, sitemap, robots.txt 기본 포함. |
완전 반응형 모바일 우선 설계. 햄버거 메뉴, 터치 제스처, 모든 화면 크기 최적화. |
|
설정 하나로 완성
|
접근성 ARIA 라벨, 키보드 내비게이션, 포커스 관리. |
성능 최적화 LazyMotion, CSS 키프레임, |
섹션 구성
| 섹션 | 설명 |
|---|---|
| Hero | 이름, 직함, 애니메이션 그라데이션 오브, CTA 버튼 |
| About | 자기소개, 프로필 사진, 스킬 배지 |
| Experience | 경력 타임라인 (회사별 상세) |
| Portfolio | 핵심 성과 요약 카드 |
| Career Detail | 프로젝트별 배경/역할/성과/교훈 상세 페이지 |
| Speaking | 발표, 강의, 커뮤니티 활동 |
| Certified | 카테고리별 자격증 + 수상 |
| Projects | 펼쳐지는 프로젝트 카드 (기술 태그 포함) |
| Contact | 소셜 링크 (LinkedIn, GitHub, 블로그, 이메일) |
🤖 AI 에이전트로 설치하기
Claude Code, Cursor, Windsurf, ChatGPT 등 AI 코딩 에이전트를 사용하고 계신가요?
아래 명령어의 결과를 에이전트에게 전달하면, 클론 → 포트폴리오 입력 → 커스터마이징 → 빌드 → 배포까지 자동으로 수행합니다.
코드를 한 줄도 직접 작성할 필요가 없습니다.
curl -s https://raw.githubusercontent.com/zer0-kr/awesome-portfolio-template/main/docs/guide/installation.mdTip
에이전트에게 이렇게 말하세요: "위 명령어 결과를 읽고, 내 포트폴리오를 설치해줘"
설치 가이드에는 필요한 개인정보 체크리스트, 설정 파일 인터페이스, 배포 명령어가 모두 포함되어 있어 에이전트가 자율적으로 작업을 완료할 수 있습니다.
🧑 사람이 설치하기
git clone https://github.com/zer0-kr/awesome-portfolio-template.git my-portfolio
cd my-portfolio
npm install
npm run devTip
또는 위의 녹색 "Use this template" 버튼을 클릭하세요.
http://localhost:3000 에서 샘플 포트폴리오를 확인한 뒤, 아래 파일들을 수정합니다.
설정
| 단계 | 파일 | 설명 |
|---|---|---|
| 1 | src/config/site.ts |
이름, 직함, 소셜 링크, SEO, 섹션 토글 |
| 2 | src/data/*.ts |
경력, 프로젝트, 자격증 등 콘텐츠 (7개 파일) |
| 3 | src/messages/ko.json, en.json |
UI 텍스트 (이름, 소개글, 섹션 라벨) |
| 4 | public/profile.png |
프로필 사진 (정사각형, 400x400px 이상) |
site.ts 예시
export const siteConfig = {
url: "https://your-name.vercel.app",
author: {
name: { ko: "홍길동", en: "John Doe" },
title: { ko: "소프트웨어 엔지니어", en: "Software Engineer" },
email: "hello@example.com",
},
social: {
github: "https://github.com/your-username",
linkedin: "https://linkedin.com/in/your-username",
blog: "https://blog.example.com",
},
nav: ["about", "experience", "career-highlights", "projects", "contact"] as const,
sections: {
hero: true,
about: true,
experience: true,
careerHighlights: true,
speaking: false, // 필요 없는 섹션은 false
certified: true,
projects: true,
contact: true,
},
seo: {
titleTemplate: "%s | John Doe",
defaultTitle: "John Doe | Software Engineer",
description: "...",
keywords: ["portfolio", "engineer"],
},
googleVerification: "",
};배포
Vercel (권장)
Netlify
환경 변수 (선택)
NEXT_PUBLIC_BASE_URL=https://your-portfolio.vercel.appNote
설정하지 않으면 src/config/site.ts의 기본값이 사용됩니다.
커스터마이징
테마 색상
src/app/globals.css의 CSS 변수를 수정하세요:
@theme {
--color-accent: #0ea5e9; /* 기본 강조색 */
--color-accent-secondary: #10b981; /* 보조 강조색 */
--color-background: #fafafa; /* 배경색 */
}네비게이션 순서
src/config/site.ts에서 원하는 순서로 배열을 수정하세요:
nav: ["about", "experience", "career-highlights", "projects", "contact"],섹션 표시/숨김
sections: {
speaking: false, // 발표 섹션 숨김
certified: false, // 자격증 섹션 숨김
},nav 배열에서도 해당 항목을 제거하면 네비게이션에서 사라집니다.
프로젝트 구조
src/
├── config/
│ └── site.ts # 사이트 설정 (이 파일을 수정하세요!)
├── data/ # 콘텐츠 데이터 (7개 파일)
│ ├── profile.ts # 개인 정보
│ ├── experience.ts # 경력 사항
│ ├── career-summary.ts # 포트폴리오 하이라이트
│ ├── career-detail.ts # 프로젝트 상세 서술
│ ├── credentials.ts # 자격증 & 수상
│ ├── speaking.ts # 발표 & 커뮤니티
│ └── projects.ts # 사이드 프로젝트
├── messages/ # 다국어 UI 텍스트
│ ├── ko.json
│ └── en.json
├── components/
│ ├── sections/ # 페이지 섹션 컴포넌트
│ ├── layout/ # Header, Footer
│ └── ui/ # 재사용 UI 컴포넌트
└── app/
└── [locale]/
├── page.tsx # 메인 페이지
└── career/page.tsx # 경력 상세 페이지
기술 스택
| 기술 | 용도 |
|---|---|
| Next.js 16 | App Router 기반 React 프레임워크 |
| TypeScript | 타입 안전성 |
| Tailwind CSS v4 | CSS 변수 기반 유틸리티 스타일링 |
| next-intl | 다국어 지원 |
| next-themes | 다크/라이트 모드 |
| Framer Motion | 애니메이션 |
| Lucide Icons | 아이콘 |
기여하기
기여를 환영합니다! CONTRIBUTING.md를 참고하세요.
라이선스
MIT — 개인 및 상업 프로젝트에 자유롭게 사용 가능합니다.
