Skip to content

Latest commit

 

History

History
118 lines (81 loc) · 3.76 KB

File metadata and controls

118 lines (81 loc) · 3.76 KB

EU Parliament Monitor - Documentation

Welcome to the EU Parliament Monitor technical documentation hub!

📚 Documentation Contents

This directory contains comprehensive documentation generated automatically on each release:

🔍 Available Documentation

  1. Documentation Index - Main hub with links to all reports
  2. API Documentation - Complete JSDoc-generated API reference
  3. Test Coverage - Vitest coverage reports with line-by-line analysis
  4. Test Results - Unit and integration test results
  5. E2E Test Report - Playwright end-to-end test results

📖 Additional Documentation

🔄 Documentation Generation

Documentation is automatically generated on each release via the GitHub Actions workflow:

# Generate all documentation locally
npm run docs:generate

# Or run individual steps
npm run docs:api          # Generate API documentation
npm run docs:copy-reports # Copy test reports
npm run docs:index        # Generate documentation index

🎯 Documentation as Code

This documentation follows the documentation as code principle:

  • Automated Generation - Generated automatically on each release
  • Version Controlled - Committed to repository for full traceability
  • Always Up-to-Date - Reflects the exact state of the release
  • Comprehensive - Includes API docs, test results, and coverage
  • Accessible - Available in release artifacts and GitHub Pages

🚀 Release Workflow

The release workflow performs the following steps:

  1. Validation - Lint and validate code
  2. Testing - Run unit, integration, and E2E tests
  3. Coverage - Generate test coverage reports
  4. Documentation - Generate API docs and copy reports
  5. Verification - Verify documentation structure
  6. Commit - Commit documentation to main branch
  7. Attestations - Generate SBOM and build provenance
  8. Release - Create GitHub release with all artifacts

📊 Coverage Reports

The coverage reports provide detailed insights into test coverage:

  • Line Coverage - Which lines of code are executed by tests
  • Branch Coverage - Which code branches are tested
  • Function Coverage - Which functions are tested
  • Statement Coverage - Which statements are executed

Target thresholds:

  • Lines: ≥80%
  • Functions: ≥80%
  • Branches: ≥75%
  • Statements: ≥80%

🎭 E2E Test Reports

Playwright test reports include:

  • Test execution results per browser
  • Screenshots on failure
  • Video recordings on failure
  • Network activity logs
  • Accessibility scan results (axe-core)

🔒 Security

The release includes security attestations:

  • SBOM - Software Bill of Materials (SPDX format)
  • Build Provenance - SLSA Level 3 attestations
  • Artifact Verification - GitHub Attestations API

Verify release artifacts:

gh attestation verify euparliamentmonitor-v*.zip --owner Hack23

🏗️ Architecture

This project follows Hack23 ISMS standards:

  • C4 Architecture Models - Context, Container, Component, Code
  • Security Architecture - STRIDE threat modeling
  • Data Models - ER diagrams and data flows
  • Compliance Mapping - ISO 27001, GDPR, NIS2, EU CRA

📝 Contributing

For contribution guidelines, see CONTRIBUTING.md.

📄 License

Apache-2.0 - see LICENSE file for details.


Last Updated: 2026-02-18
Generated By: Release Workflow v1.0