A modern, responsive personal portfolio website showcasing the professional journey of Narges Hashemi, a skilled Backend Developer specializing in Java, Spring Boot, and system architecture.
- Responsive Design: Optimized for all devices with a clean, modern interface
- Interactive Sections: Hero, About, Experience, Projects, Skills, Education, and Languages
- PDF Resume Generation: Downloadable resume in PDF format
- Smooth Animations: Scroll-triggered animations for enhanced user experience
- Dark/Light Theme Support: Built with Tailwind CSS for consistent styling
- SEO Optimized: Proper meta tags and structured content
- Framework: Next.js 15
- Styling: Tailwind CSS
- UI Components: Radix UI
- Icons: Lucide React
- PDF Generation: jsPDF
- Package Manager: Bun
- Node.js 18+
- Bun package manager
-
Clone the repository
git clone https://github.com/hmenarges/hmenarges.github.io cd hmenarges.github.io -
Install dependencies
bun install
-
Run the development server
bun run dev
-
Open http://localhost:9002 in your browser
bun run dev- Start development server with Turbopackbun run build- Build for productionbun run start- Start production serverbun run lint- Run ESLintbun run typecheck- Run TypeScript type checking
src/
├── app/ # Next.js app directory
│ ├── layout.tsx # Root layout
│ ├── page.tsx # Home page
│ └── globals.css # Global styles
├── components/ # React components
│ ├── ui/ # Reusable UI components
│ ├── hero.tsx # Hero section
│ ├── about.tsx # About section
│ ├── experience.tsx # Experience section
│ ├── projects.tsx # Projects section
│ ├── skills.tsx # Skills section
│ ├── education.tsx # Education section
│ └── footer.tsx # Footer component
├── lib/ # Utility functions
│ ├── resume-data.ts # Resume data
│ ├── generate-pdf.ts # PDF generation logic
│ └── utils.ts # Helper functions
└── hooks/ # Custom React hooks
- Primary Color: Deep Violet (#673AB7)
- Background: Light Gray (#F5F5F5)
- Accent: Electric Indigo (#7C4DFF)
- Fonts: Belleza (headlines), Alegreya (body text)
The site includes functionality to generate and download a PDF version of the resume using jsPDF. The resume data is structured in src/lib/resume-data.ts.
The project is automatically deployed to GitHub Pages using GitHub Actions. The workflow:
- Triggers on push to
mainbranch - Builds the project with Bun
- Deploys to GitHub Pages
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is private and proprietary.
Built with ❤️ using Next.js and Tailwind CSS