Skip to content
Sukanto54clPublic

About

Portfolio website

Resources

Security policy

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

Status Last Commit Website React TypeScript Deploy Dependabot

Sukanto Das — Portfolio

A personal portfolio website built with React + Vite, styled using Tailwind CSS and shadcn/ui, with subtle animations via Framer Motion.

This portfolio presents my background as a Data Engineer with a focus on geospatial, climate, and environmental data, highlighting selected projects, skills, education, and interests.
Detailed professional experience is intentionally kept in the downloadable CV.


🔗 Live Demo

👉 https://sukanto54cl.github.io/portfolio/


Features

  • Responsive, mobile-first design
  • Dark / Light mode (follows system preference)
  • Smooth animations with Framer Motion (respects prefers-reduced-motion)
  • SEO-ready — meta description, Open Graph, and Twitter Card tags
  • Functional contact form powered by EmailJS
  • Downloadable resume
  • Dockerized production build with Nginx

Tech Stack

  • React (TypeScript) — UI development
  • Vite — fast build tool & dev server
  • Tailwind CSS — utility-first styling
  • shadcn/ui — accessible UI components
  • Framer Motion — subtle animations
  • EmailJS — contact form backend
  • Lucide React — icon set
  • Radix UI Icons — UI icons
  • Docker (Nginx, multi-stage build)

Docker Development

Build the image

docker build -t portfolio .

Run the container

docker run -p 8080:80 portfolio

Open http://localhost:8080


Local Development

Clone the repository and run:

npm install

Copy .env.example to .env.local and fill in your EmailJS credentials (required for the contact form):

cp .env.example .env.local

Then start the dev server:

npm run dev

The site will be available at http://localhost:5173


Deployment

This project is automatically deployed to GitHub Pages using GitHub Actions.

  • On every push to main, a CI pipeline runs linting and build checks
  • If successful, the site is built with the GitHub Pages base path and deployed automatically

License

The source code of this project is licensed under the MIT License.

The content of this portfolio (text, CV, images, and project descriptions) is personal and may not be reused verbatim without permission.

📁 Project Structure

portfolio/
├── LICENSE
├── index.html
├── .env.example            # Required env vars for EmailJS
├── src/
│   ├── Portfolio.tsx       # Main portfolio component (all content + logic)
│   ├── App.tsx             # Renders <Portfolio />
│   ├── main.tsx            # React entry point
│   ├── index.css           # Tailwind styles
│   └── components/
│       └── ui/             # shadcn/ui components
├── public/
│   ├── cv_sukanto_das.pdf  # Resume (downloadable)
│   ├── sukanto_das.jpg     # Profile photo
│   └── favicon.svg         # Branded SD favicon
├── vite.config.ts
├── tailwind.config.js
├── tsconfig*.json
└── package.json

About

Portfolio website

Resources

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages