π Developer Portfolio Website
A modern, responsive developer portfolio website built with React, TypeScript, and TailwindCSS. Features a beautiful purple-black-white color scheme and smooth animations.
β¨ Features
- π¨ Modern Design: Beautiful purple-black-white theme with gradients and animations
- π± Fully Responsive: Works perfectly on all devices and screen sizes
- β‘ Fast Performance: Built with Vite for lightning-fast development and builds
- π§ TypeScript: Fully typed for better development experience
- π― Smooth Scrolling: Elegant navigation between sections
- π§ Contact Form: Interactive contact form with validation
- π Dark Theme: Professional dark color scheme
π Project Structure
src/
βββ components/ # React components
β βββ Header.tsx # Navigation header
β βββ Hero.tsx # Hero section
β βββ About.tsx # About section
β βββ Skills.tsx # Skills showcase
β βββ Projects.tsx # Projects gallery
β βββ Contact.tsx # Contact form
β βββ Footer.tsx # Footer
βββ data/
β βββ projects.ts # Project data and skills
βββ assets/ # Images and static files
βββ ui/ # Reusable UI components
βββ App.tsx # Main application
π Getting Started
1. Create GitHub repo and push the code
Get the template
Get the developer portfolio template from this link.Create a new repository in your GitHub account and name it "developer-portfolio"
Copy this command
git remote add origin https://github.com/YOUR_USERNAME/developer-portfolio.git
- Open a terminal or command prompt inside the project root directory in your local machine:
git init
git remote add origin https://github.com/YOUR_USERNAME/developer-portfolio.git
git add .
git commit -m "initial commit"
git push origin main
2. Install & Run Locally
# Install dependencies
npm install
# Start development server
npm run dev
The site will be available at http://localhost:5173
3. Build for Production
# Build the project
npm run build
# Preview the build
npm run preview
π¨ Customization Guide
Update Your Information
1. Personal Details
Edit the following components with your information:
Hero Section (src/components/Hero.tsx
):
// Update name, title, and description
<h1>Your Name Here</h1>
<p>Your Title/Role</p>
About Section (src/components/About.tsx
):
// Replace with your story
<p>Your personal story and experience...</p>
2. Projects
Update your projects in src/data/projects.ts
:
export const projects: Project[] = [
{
id: '1',
title: 'Your Project Name',
description: 'Project description...',
technologies: ['React', 'TypeScript', 'etc'],
image: 'project-image-url',
githubUrl: 'https://github.com/yourusername/project',
liveUrl: 'https://your-project.com',
featured: true
},
// Add more projects...
];
3. Skills
Update your skills in the same file:
export const skills = [
'JavaScript',
'TypeScript',
'React',
// Add your skills...
];
4. Contact Information
Update contact details in:
-
src/components/Header.tsx
(social links) -
src/components/Hero.tsx
(social links) -
src/components/Contact.tsx
(contact info) -
src/components/Footer.tsx
(contact info)
Replace all instances of:
-
your.email@example.com
β Your email -
https://github.com/yourusername
β Your GitHub -
https://linkedin.com/in/yourusername
β Your LinkedIn
Customize Design
Colors
The color system is defined in src/index.css
. Update the CSS custom properties:
:root {
--primary: 262 83% 58%; /* Purple */
--background: 0 0% 100%; /* White */
--foreground: 220 13% 18%; /* Dark text */
/* Modify other colors as needed */
}
Fonts
Fonts are configured in tailwind.config.ts
and loaded in index.html
:
fontFamily: {
'sans': ['Inter', 'system-ui', 'sans-serif'],
'mono': ['JetBrains Mono', 'monospace']
}
π Deploy to GitHub Pages
GitHub Actions Deployment
-
Create the workflow file if you don't have the file
.github/workflows/deploy.yml
:
name: Deploy to GitHub Pages
on:
push:
branches: [ main ]
jobs:
deploy:
runs-on: ubuntu-latest
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
permissions:
contents: read
pages: write
id-token: write
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '18'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Build
run: npm run build
- name: Setup Pages
uses: actions/configure-pages@v4
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: './dist' # Verify this matches your build output
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
-
Configure repository settings:
- Go to Settings β Pages β Source: GitHub Actions
- Go to Settings β Environments β github-pages
- Under Deployment branches and tags: Select "Selected branches and tags"
- Click "Add deployment branch or tag rule" β Enter
main
β Add rule
Update or check base path in
vite.config.ts
to match your repository name:
export default defineConfig({
base: '/developer-portfolio/',
// ... other config
});
- Deploy:
git add .
git commit -m "Add deployment workflow"
git push origin main
Your site will be available at: https://YOURUSERNAME.github.io/developer-portfolio/
π€ AI Customization Tips
Use these AI prompts to quickly customize your content:
Content Generation
"Write a professional 3-line 'About Me' for a front-end developer who loves minimal design, React, and has 5 years of experience."
"Generate 5 project descriptions for a full-stack developer's portfolio. Include: e-commerce site, task manager, weather app, blog platform, and chat application."
"Create a skills list for a modern web developer including frontend, backend, and tools."
Design Adjustments
"Modify the CSS custom properties to use a blue-gray color scheme instead of purple."
"Add a new project card hover effect that includes a subtle scale animation."
π οΈ Tech Stack
- Framework: React 18 with TypeScript
- Build Tool: Vite
- Styling: TailwindCSS
- UI Components: Radix UI + shadcn/ui
- Icons: Lucide React
- Deployment: GitHub Pages
Top comments (0)