A modern, high-performance portfolio website showcasing expertise in Data Engineering, Machine Learning, and Web Development.
- Modern Design: Clean, professional design with dark/light theme support
- High Performance: Optimized for Core Web Vitals with perfect scores
- Responsive: Mobile-first design that works on all devices
- PWA Ready: Progressive Web App with offline capabilities
- Accessibility: WCAG 2.1 AA compliant with full keyboard navigation
- SEO Optimized: Structured data and meta tags for better search visibility
- Interactive: Skills assessment, portfolio filtering, and smooth animations
- Frontend: HTML5, CSS3, JavaScript (ES6+)
- Styling: Custom CSS with CSS Grid, Flexbox, and CSS Variables
- Performance: Service Workers, Resource Hints, Lazy Loading
- Build Tools: Clean CSS, Terser, ESLint, Stylelint
- Testing: Custom test suite with automated validation
portfolio/
βββ src/ # Source files
β βββ assets/ # Static assets
β β βββ images/ # Images and photos
β β βββ icons/ # Icon files
β β βββ fonts/ # Font files
β βββ components/ # Reusable components
β βββ styles/ # CSS files
β β βββ main.css # Main stylesheet
β βββ scripts/ # JavaScript files
β β βββ main.js # Main application script
β β βββ service-worker.js # PWA service worker
β β βββ performance-optimizer.js
β β βββ advanced-performance.js
β βββ utils/ # Utility functions
β βββ index.html # Main HTML file
β βββ manifest.json # PWA manifest
βββ public/ # Built/optimized files
β βββ css/ # Minified CSS
β βββ js/ # Minified JavaScript
β βββ images/ # Optimized images
βββ tests/ # Test files
β βββ test-dashboard.html # Test dashboard
β βββ test-suite.js # Test suite
βββ docs/ # Documentation
β βββ TESTING.md # Testing documentation
βββ config/ # Configuration files
βββ package.json # Dependencies and scripts
βββ README.md # This file
- Node.js 16+ and npm 8+
- Python 3.x (for local development server)
- Clone the repository:
git clone https://github.com/moeinghaeini/portfolio.git
cd portfolio- Install dependencies:
npm install- Start development server:
npm run dev- Open your browser and navigate to
http://localhost:8080
npm run dev- Start development servernpm run build- Build optimized production filesnpm run test- Run test suitenpm run lint- Lint JavaScript filesnpm run lint:css- Lint CSS filesnpm run serve- Serve built filesnpm run deploy- Deploy to production
The website uses CSS custom properties for easy theming. Main colors are defined in src/styles/main.css:
:root {
--primary-color: #8B7355; /* Warm taupe */
--secondary-color: #D4AF37; /* Elegant gold */
--accent-color: #C9A96E; /* Soft metallic gold */
--text-color: #2C2C2C; /* Rich charcoal */
--bg-color: #FAFAFA; /* Off-white */
}- Personal Information: Update
src/index.htmlwith your details - Portfolio Projects: Modify the portfolio section in
src/index.html - Skills: Update the skills section with your expertise
- Contact Information: Update contact details and social links
The project includes a comprehensive testing suite:
- Quick Test: Press
Ctrl + Shift + Ton the main page - Test Dashboard: Open
tests/test-dashboard.html - URL Parameter: Add
?test=trueto enable testing mode
- Core Functionality Tests
- Performance Tests
- Accessibility Tests
- Responsive Design Tests
- Integration Tests
- Animation Tests
- Form Tests
- Navigation Tests
- Content Tests
- PWA Features Tests
The website is optimized for perfect Core Web Vitals scores:
- LCP (Largest Contentful Paint): < 2.5s
- FID (First Input Delay): < 100ms
- CLS (Cumulative Layout Shift): < 0.1
- Critical CSS inlining
- Resource preloading and prefetching
- Image optimization with WebP/AVIF support
- Lazy loading with Intersection Observer
- Service Worker caching
- Memory optimization
- Network optimization
The website follows WCAG 2.1 AA guidelines:
- Semantic HTML structure
- ARIA labels and roles
- Keyboard navigation support
- Screen reader compatibility
- High contrast mode support
- Focus management
- Web App Manifest
- Service Worker with caching strategies
- Offline functionality
- Install prompt
- Push notifications support
Configure caching strategies in src/scripts/service-worker.js:
const CACHE_STRATEGIES = {
CACHE_FIRST: 'cache-first',
NETWORK_FIRST: 'network-first',
STALE_WHILE_REVALIDATE: 'stale-while-revalidate'
};Enable performance monitoring in src/scripts/advanced-performance.js:
const performanceOptimizer = new AdvancedPerformanceOptimizer();
performanceOptimizer.monitorPerformance();- Build the project:
npm run build - Push to GitHub repository
- Enable GitHub Pages in repository settings
- Select source branch (usually
mainorgh-pages)
- Connect your GitHub repository to Netlify
- Set build command:
npm run build - Set publish directory:
public - Deploy automatically on push
- Install Vercel CLI:
npm i -g vercel - Run:
vercel - Follow the prompts
This project is licensed under the MIT License - see the LICENSE file for details.
Moein Ghaeini Hesarooeyeh
- Email: moeinghaeini@gmail.com
- LinkedIn: moeinghaeini
- GitHub: moeinghaeini
- Portfolio: moeinghaeini.github.io
- Bootstrap for responsive components
- Font Awesome for icons
- Google Fonts for typography
- Particles.js for animations
Built with β€οΈ by Moein Ghaeini