Personal portfolio website built with React 19 + Vite 7 and deployed on GitHub Pages.
- ⚡ Fast development with Vite
- 🎨 Modern UI with custom CSS animations
- 📱 Fully responsive design
- 🖼️ Project preview modal with image gallery
- 🔗 Interactive skills section with external links
- 🌙 Dark theme with glassmorphism effects
Decode357.github.io/
├── public/
│ └── images/ # Static images & icons
├── src/
│ ├── components/ # React components
│ │ ├── Navbar.jsx
│ │ ├── Hero.jsx
│ │ ├── About.jsx
│ │ ├── Skills.jsx
│ │ ├── Projects.jsx
│ │ ├── ProjectModal.jsx
│ │ ├── Contact.jsx
│ │ └── Footer.jsx
│ ├── data/ # Data files
│ │ ├── projects.js
│ │ └── skills.js
│ ├── App.jsx # Main App component
│ ├── App.css # Main styles
│ ├── index.css # Global styles
│ └── main.jsx # Entry point
├── index.html
├── package.json
├── vite.config.js
└── eslint.config.js
| Category | Technologies |
|---|---|
| Frontend | React 19, Vite 7 |
| Styling | CSS3, Custom Animations |
| Deployment | GitHub Pages, gh-pages |
| Tooling | ESLint, Vite Preview |
- Node.js 18+ installed
- npm or yarn package manager
# Clone the repository
git clone https://github.com/Decode357/Decode357.github.io.git
# Navigate to project directory
cd Decode357.github.io
# Install dependencies
npm install# Start development server
npm run devOpens at http://localhost:5173 with hot reload enabled.
# Create production build
npm run build
# Preview production build locally
npm run preview# Build and deploy in one command
npm run deployThis will:
- Build the project (
npm run build) - Push
dist/folder togh-pagesbranch - GitHub Pages will automatically serve the site
# 1. Commit changes to main branch
git add -A
git commit -m "Update portfolio"
git push origin main
# 2. Build the project
npm run build
# 3. Deploy to gh-pages
npm run deployEdit src/data/projects.js:
{
title: 'Your Project Name',
description: 'Short description',
technologies: ['React', 'Node.js'],
link: 'https://github.com/your-repo',
images: ['/images/project-1.png'],
fullDescription: 'Detailed description...'
}Edit src/data/skills.js:
{
category: 'Category Name',
items: [
{ name: 'Skill Name', icon: '/images/icons/skill.png', link: 'https://...' }
]
}- Hero Section:
src/components/Hero.jsx - About Section:
src/components/About.jsx - Contact Info:
src/components/Contact.jsx
| Command | Description |
|---|---|
npm run dev |
Start development server |
npm run build |
Create production build |
npm run preview |
Preview production build |
npm run lint |
Run ESLint |
npm run deploy |
Build & deploy to GitHub Pages |
- ❌ Do NOT edit files in
dist/manually (auto-generated) - ✅ Place static assets in
public/images/ - ✅ GitHub Pages source branch:
gh-pages - 🔄 Hard refresh (
Ctrl + F5) after deployment to see changes
Phongsakron Chingnu
- GitHub: @Decode357
- Email: dear0935780211@gmail.com
Made with ❤️ and React