This is a modern, responsive portfolio website built with React for Milan Rawat, a full stack web developer.
- Responsive design that works on all devices
- Smooth animations with Framer Motion
- Modern UI with clean aesthetics
- Single Page Application (SPA) with React Router
- Easy to customize and extend
- Home - Introduction and overview
- About - Personal information and services
- Experience - Education, work experience, and training
- Skills - Technical skills with progress indicators
- Projects - Portfolio projects with descriptions
- Contact - Contact information and message form
- React.js
- React Router
- Framer Motion (for animations)
- React Icons
- CSS3
-
Install dependencies:
npm install -
Start the development server:
npm start -
Build for production:
npm run build
This portfolio is configured to automatically build and deploy to GitHub Pages using GitHub Actions whenever you push changes to the main branch.
-
Create a new repository on GitHub named
Milan-rawat.github.io -
Initialize git and push to your remote repository:
git init git add . git commit -m "Initial commit" git branch -M main git remote add origin https://github.com/Milan-rawat/Milan-rawat.github.io.git git push -u origin main
-
That's it! GitHub Actions will automatically:
- Build your React application
- Deploy the built files to GitHub Pages
- Publish your site at
https://Milan-rawat.github.io
If you encounter deployment errors:
-
Make sure you have granted workflows read and write permissions:
- Go to your repository Settings
- Click on "Actions" in the left sidebar
- Under "General" settings, select "Read and write permissions"
- Click "Save"
-
Ensure your repository name is exactly
Milan-rawat.github.io -
Configure GitHub Pages to use the correct source:
- Go to your repository Settings
- Click on "Pages" in the left sidebar
- Under "Source", select "Deploy from a branch"
- Select "gh-pages" branch and "/ (root)" folder
- Click "Save"
-
If using a personal access token, ensure it's properly configured:
- Go to your repository Settings
- Click on "Secrets and variables" → "Actions"
- Click "New repository secret"
- Name it
PERSONAL_TOKENand paste your personal access token - Click "Add secret"
To customize this portfolio for your own use:
- Update the content in the
src/pagescomponents - Replace images in the
public/imagesdirectory - Modify styles in the
src/stylesCSS files - Update contact information in
src/pages/Contact.js - Change social media links in
src/components/Header.js
modern-portfolio/
├── public/
│ ├── images/
│ ├── index.html
│ └── manifest.json
├── src/
│ ├── components/
│ │ ├── Header.js
│ │ └── Footer.js
│ ├── pages/
│ │ ├── Home.js
│ │ ├── About.js
│ │ ├── Experience.js
│ │ ├── Skills.js
│ │ ├── Projects.js
│ │ └── Contact.js
│ ├── styles/
│ │ ├── App.css
│ │ ├── Header.css
│ │ ├── Footer.css
│ │ ├── Home.css
│ │ ├── About.css
│ │ ├── Experience.css
│ │ ├── Skills.css
│ │ ├── Projects.css
│ │ └── Contact.css
│ ├── App.js
│ └── index.js
├── package.json
└── README.md