Ngenzipack/portfolio
GitHub: Ngenzipack/portfolio
网络安全从业者基于 Next.js 构建的静态个人作品集网站,用于展示安全运营、云安全、IAM 及 DevSecOps 领域的专业技能与项目经验。
Stars: 0 | Forks: 0
# Patrick Ngenzi 个人作品集
Patrick Ngenzi 的专业作品集,专注于网络安全、IAM、云安全、DevSecOps、网络安全、安全的 Web 平台以及服务器管理经验。
在线网站:[ngenzipack.github.io/portfolio](https://ngenzipack.github.io/portfolio/)
## 概述
本网站是一个静态的 Next.js 作品集,旨在展示以安全为重点的经验、精选项目、简历详情和直接联系方式。它专为招聘审查人员和技术利益相关者设计,帮助他们快速了解我在以下领域的实际经验:
- 安全运营、端点保护、恶意软件响应和漏洞修复
- 使用 Microsoft Entra ID、Active Directory、MFA、RBAC 和 Conditional Access 进行身份和访问管理
- Azure 加固、NSG 审查、云安全和 DevSecOps 实践
- 网络安全、防火墙策略审查、VPN、网络分段、Wireshark、Fortinet 和 Palo Alto 经验
- 全栈客户端 Web 平台、托管、DNS、SSL/TLS、客户支持和服务器管理
## 精选作品
- [Neotha](https://www.neotha.com/) - 自主拥有的平台和客户服务工作,涵盖前端、后端、托管、支持和服务器运营。
- [Nkurunziza](https://nkurunziza.ca/en/) - 客户端 Web 平台,包含生产交付、前端/后端工作和托管支持。
- [Sylva Renovations](https://www.sylvarenovations.ca/) - 为生产业务打造的客户网站项目。
## 技术栈
- Next.js 16
- React 19
- TypeScript
- Tailwind CSS
- Framer Motion
- 用于托管的静态导出
## 项目结构
```
.
├── public/ # Static assets, icon files, resume, hosting files
├── src/
│ ├── app/ # App Router routes and global styles
│ ├── components/ # Layout, sections, theme, and UI components
│ └── lib/ # Portfolio content and utility helpers
├── next.config.ts # Static export and deployment configuration
├── package.json # Scripts and dependencies
└── README.md
```
## 环境要求
- 本地已安装 Node.js
- npm
npm 脚本优先使用 `/opt/homebrew/bin`,以便项目使用 macOS 上本地的 Homebrew Node 运行时。这可以避免当 `PATH` 中存在其他捆绑的 Node 运行时靠前时,可能出现的原生 SWC/Turbopack 签名问题。
## 本地开发
安装依赖:
```
npm install
```
启动开发服务器:
```
npm run dev
```
打开:
[http://localhost:3000](http://localhost:3000)
使用 `Ctrl + C` 停止开发服务器,或停止任何正在监听 3000 端口的进程:
```
lsof -tiTCP:3000 -sTCP:LISTEN | xargs kill
```
## 可用脚本
```
npm run dev
```
在 3000 端口运行 Next.js 开发服务器。
```
npm run dev:3015
```
在 3015 端口运行开发服务器。
```
npm run lint
```
运行 ESLint。
```
npm run build:hostinger
```
为 `https://ngenzi.neotha.com` 构建静态生产站点。
```
npm run preview
```
在静态构建之后,在本地托管生成的 `out/` 目录。
## 部署
该站点已在 `next.config.ts` 中配置为静态导出。
对于 GitHub Pages 部署:
```
npm run build:gh-pages
```
GitHub Actions 工作流使用以下命令进行构建:
```
NEXT_PUBLIC_BASE_PATH=/portfolio
NEXT_PUBLIC_SITE_URL=https://ngenzipack.github.io/portfolio
```
生成的 `out/` 目录将被发布到 `gh-pages` 分支。
对于 Hostinger 部署:
```
npm run build:hostinger
```
生成的静态文件被写入:
```
out/
```
将 `out/` 的内容上传到托管的公共目录中。
## Git
仓库远程地址:
```
git@github.com:Ngenzipack/portfolio.git
```
从新机器或新分支首次推送:
```
git push --set-upstream origin main
```
设置上游后:
```
git push
```
## 注意事项
- 联系页面仅使用直接的电子邮件和 LinkedIn 链接。
- 不包含后端电子邮件表单。
- 简历下载资源位于 `public/resume/` 下。
- 生成的文件夹(例如 `.next/`、`out/` 和 `node_modules/`)会被 Git 忽略。
标签:Azure加固, CISA项目, DevSecOps, DNS管理, Fortinet, Framer Motion, GitHub Actions, GitHub Pages, IAM, Palo Alto, PB级数据处理, React, SSL/TLS, Syscalls, Tailwind CSS, TypeScript, VPN, Web安全, Wireshark, 上游代理, 个人作品集, 前端动画, 单页应用, 句柄查看, 安全插件, 安全运维, 微软Entra ID, 恶意软件响应, 插件系统, 活动目录, 漏洞修复, 端点防护, 简历展示, 网站开发, 网站托管, 网络安全, 网络安全培训, 网络防护, 自动化攻击, 自动笔记, 蓝队分析, 身份与访问管理, 防火墙策略, 隐私保护, 静态网站