A modern, responsive portfolio website showcasing elite software development and digital solutions.
- Modern Design: Clean, professional layout with dark/light theme toggle
- Responsive: Optimized for all devices and screen sizes
- Accessible: WCAG compliant with proper ARIA labels and keyboard navigation
- Interactive: Smooth animations and scroll effects
- GitHub Integration: Dynamically loads and displays GitHub repository data
- Performance Optimized: Minified assets and optimized build process
- Frontend: Vanilla HTML5, CSS3, JavaScript (ES6+)
- Build Tools: Grunt for asset optimization and minification
- Icons: Iconify for scalable vector icons
- Fonts: Inter and JetBrains Mono for optimal readability
- Deployment: Static site ready for any hosting platform
- Node.js >= 22.0.0
- npm or yarn package manager
-
Clone the repository
git clone https://github.com/exceptioncoding/exceptioncoding.net.git cd exceptioncoding.net
-
Install dependencies
npm install
-
Fetch GitHub data (optional)
npm run fetch-github
npm run fetch-github
- Fetch latest GitHub repository datanpm run build
- Build optimized production assetsnpm run serve
- Serve production build locally (port 8000)npm run serve-dev
- Serve development files locally (port 8000)npm run dev
- Full development workflow (fetch + build + serve)npm run dev-src
- Development with source files (fetch + serve-dev)npm run prod
- Production workflow (build + serve)
-
Start development server
npm run dev-src
-
Make your changes in the
src/
directory -
Build for production
npm run build
exceptioncoding.net/
├── src/ # Source files
│ ├── index.html # Main HTML file
│ ├── styles/main.css # Stylesheet
│ ├── scripts/main.js # JavaScript functionality
│ ├── images/ # Images and favicons
│ └── fonts/ # Font files
├── dist/ # Production build output
├── data/ # GitHub API data
├── bin/ # Build scripts
├── Gruntfile.js # Grunt configuration
└── package.json # Project dependencies
Edit CSS custom properties in src/styles/main.css
:
:root {
--primary-color: #6366f1;
--secondary-color: #8b5cf6;
/* ... other variables */
}
Update the content in src/index.html
to reflect your personal information, skills, and projects.
The site can automatically fetch and display your GitHub repositories. Configure the username in bin/fetch-github-data.js
.
The site generates static files in the dist/
directory after running npm run build
. Deploy these files to any static hosting service:
- Netlify: Drag and drop the
dist
folder - Vercel: Connect your GitHub repository
- GitHub Pages: Push the
dist
folder to agh-pages
branch - Traditional hosting: Upload
dist
contents via FTP
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Design inspiration from modern portfolio websites
- Icons provided by Iconify
- Fonts from Google Fonts and JetBrains
ExceptionCoding - Where innovation meets execution ✨