Skip to content

Latest commit

Β 

History

History
154 lines (116 loc) Β· 3.81 KB

File metadata and controls

154 lines (116 loc) Β· 3.81 KB

Swagata Mandal - Portfolio

A modern, responsive portfolio website built with React, showcasing my journey as a second-year student aspiring to become a data scientist.

πŸš€ Features

  • Modern Design: Clean, professional design with smooth animations
  • Responsive: Fully responsive across all devices
  • Performance Optimized: Fast loading with optimized assets
  • SEO Ready: Proper meta tags and structured data
  • Interactive: Smooth scrolling, hover effects, and animations
  • Tech Stack Showcase: Rolling gallery of technologies
  • Project Portfolio: Featured projects with GitHub integration

πŸ› οΈ Tech Stack

  • Frontend: React, JavaScript, HTML, CSS
  • Styling: Tailwind CSS, Framer Motion
  • Build Tool: Vite
  • Icons: Lucide React
  • UI Components: Radix UI
  • Deployment: Vercel/Netlify ready

πŸ“¦ Installation

  1. Clone the repository

    git clone https://github.com/Hacknova49/portfolio.git
    cd portfolio
  2. Install dependencies

    npm install
  3. Start development server

    npm run dev
  4. Build for production

    npm run build

πŸš€ Deployment

Vercel (Recommended)

  1. Connect your GitHub repository to Vercel
  2. Deploy automatically - Vercel will detect the Vite configuration
  3. Custom domain - Add your custom domain in Vercel dashboard

Netlify

  1. Connect your GitHub repository to Netlify
  2. Build settings:
    • Build command: npm run build
    • Publish directory: dist
  3. Deploy

GitHub Pages

  1. Add GitHub Pages action:
    name: Deploy to GitHub Pages
    on:
      push:
        branches: [main]
    jobs:
      deploy:
        runs-on: ubuntu-latest
        steps:
          - uses: actions/checkout@v2
          - uses: actions/setup-node@v2
            with:
              node-version: "18"
          - run: npm ci
          - run: npm run build
          - uses: peaceiris/actions-gh-pages@v3
            with:
              github_token: ${{ secrets.GITHUB_TOKEN }}
              publish_dir: ./dist

πŸ“ Project Structure

src/
β”œβ”€β”€ components/          # React components
β”‚   β”œβ”€β”€ ui/             # Reusable UI components
β”‚   β”œβ”€β”€ HeroSection.jsx
β”‚   β”œβ”€β”€ AboutSection.jsx
β”‚   β”œβ”€β”€ TechStackSection.jsx
β”‚   β”œβ”€β”€ ProjectsSection.jsx
β”‚   β”œβ”€β”€ SkillsSection.jsx
β”‚   β”œβ”€β”€ ContactSection.jsx
β”‚   └── Footer.jsx
β”œβ”€β”€ Beams/              # Background effects
β”œβ”€β”€ TiltedCard/         # Custom card component
β”œβ”€β”€ TextPressure/       # Text animation
β”œβ”€β”€ App.jsx             # Main app component
└── main.jsx            # Entry point

πŸ”§ Configuration

Environment Variables

Create a .env file for any environment-specific variables:

VITE_APP_TITLE=Swagata Mandal Portfolio
VITE_APP_DESCRIPTION=Second Year Student & Aspiring Data Scientist

Customization

  1. Update personal information in component files
  2. Modify projects in ProjectsSection.jsx
  3. Change tech stack in TechStackSection.jsx
  4. Update contact information in ContactSection.jsx

πŸ“Š Performance

  • Lighthouse Score: 90+ across all metrics
  • Bundle Size: Optimized with code splitting
  • Loading Speed: Fast initial load with lazy loading
  • SEO: Proper meta tags and structured data

🀝 Contributing

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

πŸ“„ License

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

πŸ“ž Contact


Built with ❀️ by Swagata Mandal