Skip to content

Hasintha01/Hasintha01.github.io

Repository files navigation

Hasintha Pasindu — Portfolio

Deploy Status Tests Lighthouse CI Link Check

Infrastructure & Automation Portfolio — Building reliable systems through automation, monitoring, and cloud technologies.

Live Site: hasintha01.github.io

Notable Feature: This portfolio practices what it preaches—it includes enterprise-grade monitoring infrastructure as a working demonstration of DevOps principles.


Features

  • Blazing Fast - Built with Astro for optimal performance
  • Neo-Brutalist Design - Bold, modern, and eye-catching
  • Fully Responsive - Optimized for all devices
  • Accessible - WCAG compliant with semantic HTML
  • SEO Optimized - Meta tags, sitemap, and schema markup
  • Type-Safe - TypeScript for reliability
  • Well Tested - 51 unit tests with Vitest
  • Monitored - Comprehensive uptime and performance tracking

Tech Stack

Category Technologies
Framework Astro + React
Styling Tailwind CSS v4
Language TypeScript
Testing Vitest + Testing Library
Deployment GitHub Pages
CI/CD GitHub Actions
Monitoring Lighthouse CI, Web Vitals, Custom Uptime Monitor

Monitoring Infrastructure (Featured Project)

This portfolio includes a complete monitoring stack as a DevOps showcase:

What's Monitored

  • Uptime Tracking - Automated health checks every 6 hours with GitHub Issues alerts
  • Performance Auditing - Weekly Lighthouse CI reports with trend analysis
  • Real User Monitoring - Web Vitals (LCP, FID, CLS) from actual visitors
  • Quality Gates - CI/CD pipelines block bad deploys (tests, links, performance)
  • Cost - $0/month using GitHub Actions and open-source tools

Technical Highlights

  • Custom GitHub Actions workflows for observability
  • Automated alerting and incident response
  • Time-series data storage in git
  • Ready for Google Analytics / Plausible integration

Learn More


Getting Started

Prerequisites

  • Node.js 20+
  • npm

Installation

# Clone the repository
git clone https://github.com/Hasintha01/Hasintha01.github.io.git
cd Hasintha01.github.io

# Install dependencies
npm install

# Start development server
npm run dev

The site will be available at http://localhost:4321

Available Commands

Command Description
npm run dev Start development server
npm run build Build for production
npm run preview Preview production build
npm run test Run unit tests
npm run test:watch Run tests in watch mode
npm run check TypeScript type checking

Project Structure

.
├── .github/
│   └── workflows/         # CI/CD pipelines
│       ├── deploy.yml     # Production deployment
│       ├── test.yml       # Test suite
│       ├── lighthouse.yml # Performance audits
│       ├── link-checker.yml # Link validation
│       ├── uptime-monitor.yml # Uptime tracking
│       └── performance-report.yml # Weekly reports
├── .monitoring/           # Monitoring data storage
├── public/                # Static assets
│   ├── web-vitals.js     # Performance tracking
│   └── images/           # Images
├── src/
│   ├── components/       # React components
│   ├── data/            # Portfolio content (JSON)
│   ├── pages/           # Astro pages
│   ├── styles/          # Global CSS
│   ├── test/            # Test files
│   └── types/           # TypeScript types
├── MONITORING.md         # Monitoring setup guide
└── package.json

Testing

The project includes comprehensive test coverage:

# Run all tests
npm run test

# Watch mode for development
npm run test:watch

Test Coverage:

  • 51 unit tests
  • Component rendering
  • Data validation
  • Link integrity
  • Type safety

Deployment

The site automatically deploys to GitHub Pages on every push to main:

  1. Build - Astro builds static site
  2. Test - Runs test suite
  3. Audit - Lighthouse performance check
  4. Deploy - Publishes to GitHub Pages

Deployment URL: hasintha01.github.io


Performance

Metric Score Target
Performance 84% ≥75%
Accessibility 95% ≥85%
Best Practices 88% ≥75%
SEO 92% ≥85%

Scores are tracked weekly and stored in .monitoring/performance.log


Contributing

This is a personal portfolio, but suggestions are welcome!

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

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


Contact

Hasintha Pasindu


Built by Hasintha Pasindu

Last Updated: December 4, 2025