Skip to content

dheereshag/portfolio

Repository files navigation

Dheeresh Agarwal - Portfolio

A modern, responsive portfolio website built with Next.js 15, TypeScript, and Tailwind CSS.

✨ Features

  • Modern Stack: Built with Next.js 15, React 19, and TypeScript
  • Responsive Design: Optimized for all device sizes
  • Performance: Lighthouse score optimized with image optimization and lazy loading
  • Accessibility: WCAG compliant with proper ARIA labels and semantic HTML
  • Type Safety: Strict TypeScript configuration with comprehensive type definitions
  • Code Quality: ESLint and Prettier configuration for consistent code style
  • SEO Optimized: Meta tags, Open Graph, and structured data
  • Dark Mode: Beautiful dark theme design

🚀 Getting Started

Prerequisites

  • Node.js 18.0 or later
  • pnpm (recommended package manager)

Installation

  1. Clone the repository:
git clone https://github.com/dheereshag/portfolio.git
cd portfolio
  1. Install dependencies:
pnpm install
  1. Run the development server:
pnpm dev
  1. Open http://localhost:3000 in your browser.

🛠️ Scripts

  • pnpm dev - Start development server with Turbopack
  • pnpm build - Build for production
  • pnpm start - Start production server
  • pnpm lint - Run ESLint
  • pnpm lint:fix - Fix ESLint errors
  • pnpm type-check - Run TypeScript type checking
  • pnpm format - Format code with Prettier
  • pnpm format:check - Check code formatting
  • pnpm precommit - Run type check, lint, and format check

📁 Project Structure

├── app/                    # Next.js app directory
│   ├── layout.tsx         # Root layout
│   ├── page.tsx           # Home page
│   └── globals.css        # Global styles
├── components/            # Reusable components
│   ├── ui/                # UI components (shadcn/ui)
│   └── ...                # Feature components
├── lib/                   # Utility functions and types
│   ├── constants.ts       # App constants
│   ├── data.ts           # Static data
│   ├── hooks.ts          # Custom React hooks
│   ├── types.ts          # TypeScript types
│   └── utils.ts          # Utility functions
└── public/               # Static assets

🎨 Tech Stack

🔧 Configuration

TypeScript

  • Strict mode enabled
  • Additional strict options for better type safety
  • Path mapping configured for clean imports

ESLint

  • Extended Next.js and TypeScript configurations
  • Custom rules for code quality
  • Import ordering and React best practices

Performance

  • Image optimization with multiple formats
  • Package imports optimization
  • Console removal in production builds

📝 License

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

📧 Contact

Dheeresh Agarwal - da11@iitbbs.ac.in

Project Link: https://dheereshag.vercel.app

This project uses next/font to automatically optimize and load Geist, a new font family for Vercel.

Learn More

To learn more about Next.js, take a look at the following resources:

You can check out the Next.js GitHub repository - your feedback and contributions are welcome!

Deploy on Vercel

The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.

Check out our Next.js deployment documentation for more details.

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •