ViteReact作品集

vijayrajck-portfolio — Vite 作品集模板

作者 Vijayrajdev

一个面向资深数据工程师的太空主题 3D 作品集模板,用 React、Three.js 与 Tailwind CSS 构建,内容以数据文件驱动,可替换为自己的经历与项目。

看看你的网站会是什么样

浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。

2 个预览视图
桌面端首页1 / 2
桌面端截图首屏预览

由服务器浏览器实际访问页面后截取。

全部页面与视图 2

截图用于了解视觉与布局,交互效果请以实际项目为准。

采集于 2026-10-13查看来源

值得关注的模板亮点

从已有项目资料中,快速了解它的特点。

01

章节式内容结构:Origin、Craft、Missions、Flight Log、Awards、Transmission 以玻璃面板悬浮在深空场景中

02

首屏为可拖拽旋转的 GCP 数据管道 3D 渲染,粒子沿发光管道流动,松手回位

03

全站仅两个 WebGL 上下文,用 scissored drei <View> 共享叠加画布渲染管道与项目阶段

04

FrostGL 在 backdrop-filter 不可靠的平台上用 WebGL 高斯模糊合成玻璃面板效果

05

提供真实 GPU、软件 GPU、无 WebGL 三档能力降级,均有对应的视觉回退

06

内容由 src/data 下的数据文件驱动,可替换个人资料、技能、3D 标识与社交链接

模板详细介绍

这是一个以太空为视觉主题的个人作品集模板,原项目用于展示一位资深数据工程师的经历与项目。页面按章节组织内容:Origin、Craft、Missions、Flight Log、Awards、Transmission,各章节以玻璃面板形式悬浮在深空场景之上。背景包含粒子管道网络、星空与彗星,并把 BigQuery、Vertex AI、Terraform、Google Cloud、Python、Composer 等产品标识挤出为 3D 模型,每次访问随机显示其中三个。首屏是一个可拖拽旋转的 GCP 数据管道 3D 渲染,粒子沿发光管道流动,松手后回到原位。

技术实现上,项目使用 Vite 构建,界面由 React 组件组成,3D 部分基于 Three.js 与 @react-three/fiber。全站只使用两个 WebGL 上下文:一个背景画布加一个共享叠加画布,通过 scissored drei <View> 渲染管道和各个项目阶段。项目提供名为 FrostGL 的玻璃拟态方案:在 backdrop-filter 不可靠的 Windows/Linux GPU 配置上,用 WebGL 对背景做高斯模糊并按 DOM 中玻璃面板的圆角矩形实时合成。能力降级路径为:真实 GPU 使用原生模糊或 FrostGL,软件 GPU 使用 CSS 霜面,无 WebGL 时使用 CSS 星空与设计好的 DOM 回退。

内容与代码分离:个人资料、故事、经历、项目、奖项在 src/data/portfolio.js,技能与品牌标识在 src/data/skills.js,浮动 3D 标识池在 src/data/logos3d.js,联系方式与社交标识在 src/data/socials.js。项目为可安装的 PWA,支持离线,使用自托管字体,并以 VJ 字母组合作为应用图标。构建产物为 dist/ 下的静态文件,可部署到任意静态托管;在 Vercel 上选择 Vite 预设,构建命令 npm run build,输出目录 dist,推送到 master 会自动部署。

使用限制:MIT 许可覆盖的是代码,README 明确说明个人照片、简历与 VJ 标识不在许可范围内;演示图片、字体、图标等第三方素材需按各自许可单独核对。外部服务如域名、托管等可能另行收费。

ViteReact作品集

适合你的项目吗?

适用场景

  • 数据工程师或后端开发者搭建个人作品集,展示项目、经历与技能
  • 需要 3D 视觉与玻璃拟态界面、并希望在不同 GPU 环境下都有可用回退的展示型网站
  • 作为 React + Three.js 学习参考,了解双 WebGL 上下文与 drei View 的用法
  • 以 PWA 形式提供可安装、可离线的个人站点

适合人群

  • 熟悉 React 与 Vite、能修改数据文件与组件的前端开发者
  • 希望用数据文件而非页面标记维护作品集内容的个人
  • 需要静态部署到 Vercel 或其他静态托管平台的用户

上手与定制指南

结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。

  1. 1

    安装依赖后运行 npm run dev 启动本地开发服务器,npm run build 生成 dist/ 静态产物

  2. 2

    修改 src/data/portfolio.js、skills.js、logos3d.js、socials.js 即可替换站点内容

  3. 3

    可用 ?frostgl=1 或 ?frostgl=0 强制开启或关闭 WebGL 霜面效果,控制台会输出 webgl、frostgl、backdrop 状态

  4. 4

    部署到 Vercel 时选择 Vite 预设,构建命令 npm run build,输出目录 dist

  5. 5

    MIT 许可不覆盖个人照片、简历与 VJ 标识,替换素材时需自行确认第三方图片、字体与图标的许可

查看仓库使用说明

授权与来源资料

使用条件与限制

免费使用 · 保留许可声明

本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。

使用时需要遵守

  • 允许免费使用、修改、商用和分发该版本代码。
  • 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
  • 代码按现状提供;担保与责任限制以原许可证及适用法律为准。

额外费用与待核对事项

  • 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
  • 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
  • MIT 许可仅覆盖代码;个人照片、简历与 VJ 标识不在许可范围内,替换为自己的素材时不得沿用这些内容。
查看原文依据

Permission is hereby granted, free of charge

许可证原文

Code is [MIT licensed](LICENSE) — fork it as a template for your own portfolio. Personal photos, resume, and the VJ mark are excluded (see LICENSE).

README 原文
https://github.com/Vijayrajdev/vijayrajck-portfolio/blob/master/LICENSEhttps://github.com/Vijayrajdev/vijayrajck-portfolio/blob/master/README.md

DeepSeek 根据仓库许可证和 README 整理 ·2026-10-13。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。

项目核对记录与介绍依据

模板资料

来源平台
GitHub
资料与维护参考分
资料较完整 · 85 / 100
技术栈
Vite · React
网站类型
作品集
这个分数如何计算

本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。

这个项目需要核对什么

记录的仓库更新时间
2026-08-09
截图检查日期
2026-10-13

已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。

目录记录的主要技术栈是 Vite。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。

查看具体选型方法 →

介绍的制作与核对状态

介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。

审核声明: [email protected] · 2026-10-13

查看当时使用的来源资料

SHA-256: 36363d7a762d0f48533a2dcc10765731335c1493529f6c72776e6d871467778d

2026-10-13T09:24:59.520Z

来源文件 / 仓库
<div align="center">

<img src="public/logo.svg" width="88" alt="VJ logo" />

# VIJAY RAJ C K — PORTFOLIO

**`// INCOMING TRANSMISSION — CHENNAI, INDIA`**

*A space-themed 3D portfolio for a Senior Data Engineer.
Data platforms that build themselves — and a website that behaves like one.*

[![Live](https://img.shields.io/badge/LIVE-vijayrajck.vercel.app-22d3ee?style=for-the-badge&logo=vercel&logoColor=white&labelColor=0b0620)](https://vijayrajck.vercel.app)

![React](https://img.shields.io/badge/React_19-0b0620?style=flat-square&logo=react&logoColor=61DAFB)
![Three.js](https://img.shields.io/badge/Three.js-0b0620?style=flat-square&logo=threedotjs&logoColor=a78bfa)
![R3F](https://img.shields.io/badge/@react--three/fiber-0b0620?style=flat-square&logo=react&logoColor=ec4899)
![Tailwind](https://img.shields.io/badge/Tailwind_CSS_4-0b0620?style=flat-square&logo=tailwindcss&logoColor=38bdf8)
![Vite](https://img.shields.io/badge/Vite-0b0620?style=flat-square&logo=vite&logoColor=FFD43B)
![PWA](https://img.shields.io/badge/PWA-installable-0b0620?style=flat-square&logo=pwa&logoColor=8b5cf6)

<img src="docs/hero.png" alt="Hero — live 3D GCP pipeline render in deep space" width="100%" />

</div>

---

## `// CHAPTER 01 — WHAT IS THIS`

A portfolio that tells a story in chapters — **Origin → Craft → Missions →
Flight Log → Awards → Transmission** — floating as glass panels over a living
deep-space scene: a particle pipeline network, starfield, comets, and real
product logos (BigQuery, Vertex AI, Terraform, Google Cloud, Python, Composer)
extruded into 3D. Three of the six logos are drawn at random on every visit.

The hero is a **live 3D render of a GCP data pipeline**, built from the actual
product marks, with event particles flowing through glowing tubes:

```
              ╭──────────╮
SOURCES ══▶ PUB/SUB ══▶ COMPOSER ══▶ BIGQUERY ⇄ DBT
                                        ║
                                        ╚══▶ LOOKER
```

Drag it to orbit. It snaps home when released.

<div align="center">
<img src="docs/projects.png" alt="Missions — draggable 3D project artifacts" width="100%" />
</div>

## `// CHAPTER 02 — FLIGHT SYSTEMS`

| System | What it does |
| --- | --- |
| **Two WebGL contexts, total** | One background canvas + one shared overlay canvas rendering the pipeline and all project stages as scissored drei `<View>`s — immune to browser context-loss |
| **FrostGL** | macOS-grade glassmorphism on every OS: where `backdrop-filter` can't be trusted (most Windows/Linux GPU configs), the background scene is gaussian-blurred in WebGL and composited back under each glass panel's rounded rect, tracked live from the DOM |
| **Capability ladder** | Real GPU → native blur or FrostGL · software GPU → CSS frost plate · no WebGL at all → CSS starfield + designed DOM fallbacks. Nobody sees an empty box |
| **Interactive everything** | Hover the floating logos for holo-labels, click them for a shockwave burst + a synthesized space-sparkle (Web Audio, zero files) |
| **PWA** | Installable, offline-capable, custom VJ monogram as app icon, self-hosted fonts |

<div align="center">
<img src="docs/skills.png" alt="Skills & Tools — brand-logo tiles" width="100%" />
</div>

## `// CHAPTER 03 — LAUNCH SEQUENCE`

```bash
npm install      # fuel
npm run dev      # ignition — local dev server
npm run lint     # pre-flight checks (oxlint)
npm run build    # orbit — production build → dist/
npm run preview  # test the production build locally
```

**Debug switches:** `?frostgl=1` / `?frostgl=0` force the WebGL frost on/off.
The console prints `[vj-portfolio] webgl=… frostgl=… backdrop=…` on every load.

## `// CHAPTER 04 — MISSION CONTROL`

All content is data, not markup. Edit these and the site rebuilds itself:

| File | Controls |
| --- | --- |
| [`src/data/portfolio.js`](src/data/portfolio.js) | Profile, story, experience, projects, awards |
| [`src/data/skills.js`](src/data/skills.js) | Skill tiles + brand logos |
| [`src/data/logos3d.js`](src/data/logos3d.js) | The floating 3D logo pool |
| [`src/data/socials.js`](src/data/socials.js) | Contact / social marks |

## `// CHAPTER 05 — DEPLOYMENT`

Static output in `dist/` — deploys anywhere. On Vercel: preset **Vite**,
build `npm run build`, output `dist`. Every push to `master` auto-deploys.

---

<div align="center">

**`// END OF TRANSMISSION`**

Built with React, Three.js & Tailwind CSS ·
Made with ❤️ by [Vijay](https://www.linkedin.com/in/vijay-raj-02)

Code is [MIT licensed](LICENSE) — fork it as a template for your own portfolio.
Personal photos, resume, and the VJ mark are excluded (see LICENSE).

[![LinkedIn](https://img.shields.io/badge/LinkedIn-0A66C2?style=flat-square&logo=data:image/svg%2bxml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0id2hpdGUiPjxwYXRoIGQ9Ik0yMC40NDcgMjAuNDUyaC0zLjU1NHYtNS41NjljMC0xLjMyOC0uMDI3LTMuMDM3LTEuODUyLTMuMDM3LTEuODUzIDAtMi4xMzYgMS40NDUtMi4xMzYgMi45Mzl2NS42NjdIOS4zNTFWOWgzLjQxNHYxLjU2MWguMDQ2Yy40NzctLjkgMS42MzctMS44NSAzLjM3LTEuODUgMy42MDEgMCA0LjI2NyAyLjM3IDQuMjY3IDUuNDU1djYuMjg2ek01LjMzNyA3LjQzM2MtMS4xNDQgMC0yLjA2My0uOTI2LTIuMDYzLTIuMDY1IDAtMS4xMzguOTItMi4wNjMgMi4wNjMtMi4wNjMgMS4xNCAwIDIuMDY0LjkyNSAyLjA2NCAyLjA2MyAwIDEuMTM5LS45MjUgMi4wNjUtMi4wNjQgMi4wNjV6bTEuNzgyIDEzLjAxOUgzLjU1NVY5aDMuNTY0djExLjQ1MnpNMjIuMjI1IDBIMS43NzFDLjc5MiAwIDAgLjc3NCAwIDEuNzI5djIwLjU0MkMwIDIzLjIyNy43OTIgMjQgMS43NzEgMjRoMjAuNDUxQzIzLjIgMjQgMjQgMjMuMjI3IDI0IDIyLjI3MVYxLjcyOUMyNCAuNzc0IDIzLjIgMCAyMi4yMjUgMHoiLz48L3N2Zz4=)](https://www.linkedin.com/in/vijay-raj-02)
[![GitHub](https://img.shields.io/badge/GitHub-181717?style=flat-square&logo=github&logoColor=white)](https://github.com/Vijayrajdev)
[![Email](https://img.shields.io/badge/Email-EA4335?style=flat-square&logo=gmail&logoColor=white)](mailto:[email protected])

</div>
反馈内容错误

看看同类模板

对比同技术栈与用途的模板,找到更适合的视觉与内容结构。