This is my portfolio website built with modern web technologies to showcase my projects, articles, and professional experience.
- ⚡ Framework: Next.js with React
- 📘 Language: TypeScript
- 🎨 Styling: Tailwind CSS
- 🎭 Animations: Custom animation controller with React context
- 📦 Package Manager: pnpm
- Node.js
- pnpm (recommended) or npm/yarn
# Install dependencies
pnpm install# Run the development server
pnpm devOpen http://localhost:3000 in your browser to see the result.
# Create a production build
pnpm build
# Start the production server
pnpm start# Run ESLint
pnpm lintportfolio/
├── src/
│ ├── app/ # Next.js app directory
│ │ ├── articles/ # Articles section
│ │ ├── components/ # React components
│ │ │ ├── articles/ # Article-related components
│ │ │ ├── home/ # Home page components
│ │ │ └── layout/ # Layout components
│ │ ├── globals.css # Global styles
│ │ ├── layout.tsx # Root layout
│ │ └── page.tsx # Home page
│ ├── contexts/ # React contexts
│ ├── controllers/ # Business logic
│ └── data/ # Static data and constants
├── public/ # Static assets
│ ├── articles/ # Article images
│ └── icons/ # Icons and favicons
└── ...config files
The site is containerized using Docker and can be deployed using the included deployment script:
# Deploy using the deployment script
./deploy.shOr build and run with Docker:
# Build the Docker image
docker build -t portfolio .
# Run the container
docker run -p 3000:3000 portfolioFound a bug? Please feel free to report it! You can:
- 📝 Open an issue on this repository
- 💬 Contact me through the website
All bug reports are welcome and appreciated! 🙏