From f2940ad956b93e156dcf5815f89a4b9c53369887 Mon Sep 17 00:00:00 2001 From: jwinterm Date: Sat, 17 Jan 2026 10:32:01 -0500 Subject: [PATCH] Add documentation and fix pnpm start command - Add README.md with tech stack, project structure, and dev setup - Add TODO_ACCESS.md with Lighthouse audit results and priority fixes - Add start script to root package.json - Add start task to turbo.json --- README.md | 174 +++++++++++++++++++++++++++++++++++++++++++++++++ TODO_ACCESS.md | 127 ++++++++++++++++++++++++++++++++++++ package.json | 1 + turbo.json | 4 ++ 4 files changed, 306 insertions(+) create mode 100644 README.md create mode 100644 TODO_ACCESS.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..f94db20 --- /dev/null +++ b/README.md @@ -0,0 +1,174 @@ +# Such Software Website + +Corporate website for Such Software LLC, a full-service software provider based in Kennett Square, PA. + +## Tech Stack + +### Core Framework +- **Next.js 15** - React framework with App Router +- **React 18** - UI library +- **TypeScript 5** - Type safety + +### Styling & Animation +- **Tailwind CSS 3** - Utility-first CSS +- **Framer Motion 11** - Animations and transitions +- **tailwind-merge** - Conditional class merging +- **class-variance-authority** - Component variants + +### UI Components +- **Radix UI** - Accessible primitives +- **Lucide React** - Icon library +- **react-icons** - Additional icons (FontAwesome, etc.) + +### Theming +- **next-themes 0.4** - Dark/light mode with system preference detection + +### Forms & Validation +- **Zod** - Schema validation +- **Cloudflare Turnstile** - Bot protection via `@marsidev/react-turnstile` + +### Build & Dev Tools +- **Turborepo** - Monorepo build system +- **pnpm 9** - Package manager +- **ESLint** - Linting +- **Prettier** - Code formatting + +## Project Structure + +``` +such-software-site/ +├── apps/ +│ └── web/ # Next.js website +│ ├── src/ +│ │ ├── app/ # App Router pages +│ │ │ ├── page.tsx # Homepage +│ │ │ ├── services/ # Services page +│ │ │ ├── about/ # About page +│ │ │ └── layout.tsx # Root layout +│ │ ├── components/ +│ │ │ ├── about/ # About page components +│ │ │ ├── contact/ # Contact form +│ │ │ ├── landing/ # Homepage components +│ │ │ ├── layout/ # Header, Footer, etc. +│ │ │ └── portfolio/ # Portfolio grid +│ │ ├── actions/ # Server actions +│ │ └── lib/ # Utilities +│ └── public/ # Static assets +├── packages/ +│ ├── ui/ # Shared UI components +│ │ └── src/ +│ │ ├── components/ # Button, Card, etc. +│ │ ├── procedural/ # Canvas animations (NebulaField, DataGrid) +│ │ └── lib/ # Utilities (cn) +│ └── config/ # Shared TypeScript/ESLint config +├── turbo.json # Turborepo config +├── pnpm-workspace.yaml # pnpm workspace config +└── package.json # Root package.json +``` + +## Development + +### Prerequisites +- Node.js >= 20.0.0 +- pnpm >= 9.0.0 + +### Getting Started + +```bash +# Install dependencies +pnpm install + +# Start development server +pnpm dev + +# Build for production +pnpm build + +# Start production server +pnpm start +``` + +The dev server runs at `http://localhost:3000`. + +## Accessibility & Quality + +### Current Status +See [TODO_ACCESS.md](TODO_ACCESS.md) for detailed audit results. + +### Lighthouse Scores (Dev Server) +| Category | Score | +|----------|-------| +| Performance | 51 | +| Accessibility | 95 | +| SEO | 91 | +| Best Practices | 73 | + +**Note:** Production builds typically score higher. + +### Testing Tools + +#### Current +- **Lighthouse** - Performance, accessibility, SEO, best practices + ```bash + npx lighthouse http://localhost:3000 --view + ``` + +#### Planned +- **Playwright + axe-core** - Automated accessibility testing + ```bash + pnpm add -D @playwright/test @axe-core/playwright + npx playwright install + ``` + +### Accessibility Features +- Skip-to-main-content link +- Semantic HTML5 structure (`
`, `