Skip to content

mkschulz9/mkschulz.com

Repository files navigation

Matthew Schulz's Personal Website

  • Welcome to the behind the scenes of Matthew Schulz's personal website! This site is a single-page application (SPA) built from scratch that showcases Matthew's projects, work experience, and more. The website is hosted on GitHub Pages and can be accessed securly at mkschulz.com.

NOTE: This website is a work in progress and is constantly being updated.

Type Name Related Folder(s) / File(s) Description
Package Manager pnpm package.json
pnpm-lock.yaml
Package manager that facilitates efficient management and installation of dependencies.
Build Tool Vite vite.config.ts Build tool that provides fast and efficient development experience.
Static Type Checker TypeScript tsconfig.json Static type checker that helps catch type-related bugs early.
UI Libraries React
MUI
src/main.tsx
src/components
UI libraries that provide a rich set of components and utilities.
CI/CD GitHub Actions .github/workflows CI/CD tool that automates the build, test, and deployment processes.
Code Linter ESLint eslint.config.js Code linter that helps maintain consistent code style.
Code Formatter Prettier .prettierrc.yaml Code formatter that helps maintain consistent code style.
Commit Linter commitlint .commitlintrc.json Commit linter that checks if commit messages meet a certain format.
Git Hooks husky .husky Git hooks that run tasks before/after Git commands.

CI/CD Pipelines

CI/CD pipelines are implemented using GitHub Actions. Workflow files are defined in .github/workflows.

Pipeline Deployed site Trigger Description
github-pages-deploy.yml (Prod) mkschulz9.github.io on Push to main branch Build and deploy to prod site.

Explanation of Steps Defined in github-pages-deploy.yml

  • The pipeline is triggered on push to the main branch.
  • The pipeline has two jobs: build and deploy.
  • The build job installs dependencies, builds the project, and uploads the production-ready build files as an artifact.
  • The deploy job downloads the artifact and deploys the production-ready build.
  • The pipeline uses a GitHub token stored in the repository secrets to deploy the production-ready build to GitHub Pages.

Git Hooks

When a Git commit is made, the following happens in the background: