Hitanshu Dhawan

Getting Started with Create React App

Hitanshu Dhawan - Portfolio Website

A modern, professional portfolio website for Hitanshu Dhawan, Senior Android Engineer at PhonePe. This is a fully static website built with React and designed to showcase Android development expertise, projects, and professional experience.

🌟 Features

πŸ—οΈ Project Structure

β”œβ”€β”€ public/                 # Static assets
β”‚   β”œβ”€β”€ index.html
β”‚   β”œβ”€β”€ favicon.ico
β”‚   └── manifest.json
β”œβ”€β”€ src/                    # Source code
β”‚   β”œβ”€β”€ components/         # Reusable components
β”‚   β”‚   β”œβ”€β”€ ui/            # UI components (buttons, cards, etc.)
β”‚   β”‚   β”œβ”€β”€ Navbar.jsx     # Navigation component
β”‚   β”‚   └── Footer.jsx     # Footer component
β”‚   β”œβ”€β”€ pages/             # Page components
β”‚   β”‚   β”œβ”€β”€ Home.jsx       # Landing page
β”‚   β”‚   β”œβ”€β”€ About.jsx      # About page
β”‚   β”‚   β”œβ”€β”€ Projects.jsx   # Projects showcase
β”‚   β”‚   β”œβ”€β”€ Portfolio.jsx  # Other work
β”‚   β”‚   β”œβ”€β”€ Blog.jsx       # Blog listings
β”‚   β”‚   β”œβ”€β”€ BlogPost.jsx   # Individual blog posts
β”‚   β”‚   β”œβ”€β”€ OpenSource.jsx # Open source contributions
β”‚   β”‚   └── Contact.jsx    # Contact page
β”‚   β”œβ”€β”€ mock/              # Static data
β”‚   β”‚   └── data.js        # All website content
β”‚   β”œβ”€β”€ hooks/             # Custom React hooks
β”‚   β”œβ”€β”€ App.js             # Main app component
β”‚   β”œβ”€β”€ index.js           # Entry point
β”‚   └── index.css          # Global styles
β”œβ”€β”€ tailwind.config.js     # Tailwind CSS configuration
β”œβ”€β”€ craco.config.js        # CRACO configuration
β”œβ”€β”€ package.json           # Dependencies and scripts
└── Dockerfile             # Docker configuration

πŸš€ Quick Start

Prerequisites

Local Development

  1. Clone and setup:
    git clone <repository-url>
    cd hitanshu-dhawan-portfolio
    yarn install
    
  2. Start development server:
    yarn start
    

    Open http://localhost:3000 to view in browser.

  3. Build for production:
    yarn build
    

    Creates optimized build in build/ directory.

Using Docker

  1. Build Docker image:
    docker build -t hitanshu-portfolio .
    
  2. Run container:
    docker run -p 3000:3000 hitanshu-portfolio
    

    Access at http://localhost:3000

πŸ“¦ Available Scripts

🌐 GitHub Pages Deployment

This site is optimized for GitHub Pages deployment:

  1. Build the site:
    yarn build
    
  2. Deploy to GitHub Pages:
    • Push your code to a GitHub repository
    • Go to repository Settings > Pages
    • Select β€œDeploy from a branch”
    • Choose β€œmain” branch and β€œ/build” folder
    • Or use GitHub Actions for automated deployment

Create .github/workflows/deploy.yml:

name: Deploy to GitHub Pages

on:
  push:
    branches: [ main ]

jobs:
  build-and-deploy:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    
    - name: Setup Node.js
      uses: actions/setup-node@v2
      with:
        node-version: '18'
        cache: 'yarn'
    
    - name: Install dependencies
      run: yarn install --frozen-lockfile
    
    - name: Build
      run: yarn build
    
    - name: Deploy
      uses: peaceiris/actions-gh-pages@v3
      with:
        github_token: $
        publish_dir: ./build

🎨 Customization

Updating Content

All website content is stored in src/mock/data.js. Update the following sections:

Styling

The site uses Tailwind CSS for styling:

Adding New Pages

  1. Create new component in src/pages/
  2. Add route in src/App.js
  3. Update navigation in src/components/Navbar.jsx

πŸ§ͺ Technologies Used

πŸ“± Responsive Design

The website is fully responsive with breakpoints:

⚑ Performance

πŸ”§ Browser Support

πŸ“„ License

This project is open source and available under the MIT License.

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Submit a pull request

πŸ“ž Contact

Hitanshu Dhawan


Built with ❀️ by Hitanshu Dhawan © 2025 All Rights Reserved