Skip to content

Bwest8/HEPT-tool

Repository files navigation

Home Education and Private Tutoring Annual Report Form

A React + TypeScript web application for Pennsylvania school districts to complete the annual Home Education and Private Tutoring reporting requirements (Act 169 of 1988). The app validates inputs and exports a PIMS-ready CSV.

Overview

The application guides district users through required sections for the annual report, with real-time validation, accessible UI, and a CSV export aligned to PIMS. Sections are organized, collapsible, and color-coded for clarity.

Features

Technology Stack

  • React 18 + TypeScript
  • Vite
  • Tailwind CSS
  • Lucide React (icons)
  • ESLint (flat config)

Getting Started

Prerequisites:

  • Node.js 18+
  • npm or yarn

Install and run:

git clone <repository-url>
cd HEPT-tool
npm install
npm run dev

Open http://localhost:5173/HEPT-tool/

Build and preview:

npm run build
npm run preview

Project Structure

.
├── index.html
├── package.json
├── vite.config.ts
├── tailwind.config.js
├── postcss.config.js
├── eslint.config.js
├── tsconfig.json
├── .github/
│   └── workflows/
│       └── deploy.yml
└── src/
    ├── main.tsx
    ├── App.tsx
    ├── index.css
    ├── components/
    │   ├── AdditionalComments.tsx
    │   ├── CyberProgramGrid.tsx
    │   ├── CyberProgramSection.tsx
    │   ├── DistrictInformation.tsx
    │   ├── DistrictSelect.tsx
    │   ├── EnrollmentGrid.tsx
    │   └── ImportantReminders.tsx
    ├── data/
    ├── lib/
    ├── types/
    └── utils/

Accessibility & UX

  • Semantic headings and regions with labels (e.g., “Important Reminders & Support” in src/components/ImportantReminders.tsx)
  • Keyboard-focusable controls with visible focus states
  • Clear validation and error summaries on export attempt
  • Responsive layout via Tailwind CSS (src/index.css)

CSV Export

  • Validates before export (scrolls to first error if present)
  • On success, triggers CSV download and displays a success message
  • See the export flow in src/App.tsx

Deployment (GitHub Pages)

This repo includes a GitHub Actions workflow for Pages: .github/workflows/deploy.yml

Typical setup:

  • Push to default branch to build and deploy the app to GitHub Pages
  • Output directory: dist
  • Ensure Pages is enabled in your repository settings

Compliance & Reporting

Supports PA reporting needs for:

  • Act 169 of 1988 (24 P.S. Sec. 13-1327.1)
  • PIMS submission formatting via CSV output
  • Annual reporting requirements (districts must report even with zero counts)

Configuration

Support

Contributing

License

This project is designed for use by Pennsylvania school districts for official reporting purposes.

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published