This repository has been archived on 2026-02-01. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
colin ea3a2b95e4 Add placeholder story pages for all sections on the main page 2025-07-06 14:46:41 -04:00
.cursor/rules Save all current changes to resume project 2025-07-06 11:16:43 -04:00
docker Add placeholder story pages for all sections on the main page 2025-07-06 14:46:41 -04:00
tests Add download as PDF button and update test configurations 2025-05-10 16:12:46 -04:00
.cursorignore Save all current changes to resume project 2025-07-06 11:16:43 -04:00
.gitignore Remove test results from git tracking and update .gitignore 2025-03-31 09:30:32 -04:00
.woodpecker.yml Comment out wait-for-deploy-production step in Woodpecker CI config 2025-03-31 04:27:35 -04:00
README.md Add comprehensive README with testing instructions 2025-03-31 04:43:41 -04:00
build-test-deploy.sh Save all current changes to resume project 2025-07-06 11:16:43 -04:00
docker-compose.production.yml Update Dockerfile.production with multi-stage build and security hardening 2025-03-31 09:41:26 -04:00
docker-compose.staging.yml Fix production site: Copy includes and stories directories in Dockerfile 2025-07-06 11:40:58 -04:00
package-lock.json Add download as PDF button and update test configurations 2025-05-10 16:12:46 -04:00
package.json Add download as PDF button and update test configurations 2025-05-10 16:12:46 -04:00
playwright.config.js Add Playwright configuration file 2025-03-31 04:43:14 -04:00
stack.production.yml fixing deploy step 2025-06-05 13:11:42 -04:00
stack.staging.yml fixing deploy step 2025-06-05 13:11:42 -04:00

README.md

Colin Knapp Portfolio Resume

A professional portfolio website with accessibility features and automated testing.

Features

  • Responsive design for all device sizes
  • Light/dark mode toggle with system preference detection
  • High contrast accessible design
  • Keyboard navigable interface
  • WCAG 2.1 Level AA+ compliant

Development

Prerequisites

  • Node.js (v14 or higher)
  • npm (v6 or higher)

Setup

  1. Clone the repository:

    git clone git@git.nixc.us:colin/resume.git
    cd resume
    
  2. Install dependencies:

    npm install
    
  3. Set up Playwright browsers:

    npm run setup
    

Local Development

To serve the site locally for development:

npm run serve

This will start a local development server at http://localhost:8080.

Testing

The project includes automated testing using Playwright for functional tests and Lighthouse for performance and accessibility audits.

Running all tests

npm test

Running only Playwright tests

npm run test:playwright

Running only Lighthouse tests

npm run test:lighthouse

Docker Deployment

The site is deployed using Docker and Caddy. The deployment configuration is in the docker directory.

To build and run the Docker container locally:

cd docker
docker build -t resume:latest ./resume/
docker run -p 8080:8080 resume:latest

Accessibility

This site is designed to meet WCAG 2.1 Level AA+ standards. Key accessibility features include:

  • Proper heading hierarchy
  • Keyboard navigable interface with visible focus states
  • Color contrast ratios that exceed WCAG AA requirements
  • Semantic HTML structure
  • Accessible form controls and ARIA attributes
  • Light/dark mode support with system preference detection
  • Responsive design for all device sizes

License

ISC © Colin Knapp