Skip to content

Repository files navigation

ClassFinder

ClassFinder will help students enter classes and receive campus directions. The repository now contains the initial Vite/React application shell; class-entry behavior, routing logic, and campus data are still being built.

Repository map

  • infrastructure_plan.md — selected infrastructure decisions.
  • package.json — npm scripts and development dependencies.
  • Dockerfile, compose.yml, .dockerignore — reproducible Node.js development environment.
  • scripts/ — infrastructure-only verification.
  • index.html — Vite's browser document shell.
  • src/ — React application source, with main.tsx as the entrypoint and App.tsx as the root component.
  • tests/ — future unit, UI, and end-to-end test locations; no product tests exist yet.
  • .github/workflows/ — pull-request checks and GitHub Pages release deployment.
  • .agents/skills/ — project-provided agent skills.

Getting Started

Prerequisites

  1. Install Git and confirm git --version works.
  2. Install Docker Desktop on Windows or macOS, or Docker Engine on Linux. Confirm docker version and docker compose version work.
  3. Install a current browser. A code editor with TypeScript support is recommended.

Node.js and npm run inside the development container. The image is pinned to Node.js 22.14.0; update it deliberately to a supported LTS line.

Install dependencies

On a host with Node.js 22 LTS installed, run:

npm ci

Or start the development environment with Docker:

docker compose up --build

The container bind-mounts the repository and keeps node_modules in a named volume. Stop it with:

docker compose down

Verify the infrastructure

npm run format:check
npm run lint
npm run typecheck
npm test
npm run coverage
npm run test:e2e
npm run test:smoke
docker compose config

The test commands currently validate the configured harness and pass with no product tests; application work must add meaningful tests before relying on coverage.

GitHub configuration

The release workflow deploys version tags to GitHub Pages. Before its first release, enable GitHub Pages with GitHub Actions as the source and create/protect the production environment if an approval gate is wanted. No deployment secret is required for GitHub Pages; the workflow uses GitHub's scoped GITHUB_TOKEN permissions.

Troubleshooting

  • docker is not recognized or the daemon is unavailable: Start Docker Desktop (or the Docker service) and rerun docker version.

  • Dependency install fails: Use Node.js 22 LTS and rerun npm ci; do not mix npm with another package manager.

  • Port is already in use: Stop the process using the future Vite development port or change the Compose port mapping when application development begins.

  • Docker reports an npm permission error: Recreate the dependency volume after a prior run created it with root ownership:

    docker compose down -v
    docker compose up --build

    The -v removes only the local node_modules volume; dependencies will be installed again from package-lock.json.

  • GitHub Pages deployment fails: Confirm Pages is enabled for GitHub Actions and that the repository allows the workflow's pages: write and id-token: write permissions.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages