Type-safe React frontend for ACM UTD officer operations, profile management, and directory tooling.
This repository contains the Vite + React frontend for ACM UTD's officer database platform. The app provides authenticated officer workflows, directory browsing, role-aware actions, and executive-level administrative controls.
- Runtime/UI: React 19, TypeScript, Vite 7
- Routing: TanStack Router (file-based routes)
- Data Fetching/Cache: TanStack Query
- Forms/Validation: React Hook Form + Zod
- Auth: Firebase Authentication (Google sign-in)
- UI Primitives: Radix UI + custom components
- Styling: Tailwind CSS v4
src/routescontains route-level composition and auth-protected navigation.src/componentscontains domain UI (Profile, Directory, Socials, etc).src/functionsimplements API calls and request authorization.src/queriesdefines TanStack Query options/mutations and cache update logic.src/schemasstores Zod schemas for runtime parsing and type inference.
- Node.js 18+
- npm
git clone https://github.com/acmutd/officer-database.git
cd officer-database-frontend
npm install
npm run build
npm run devApp runs at http://localhost:3000.
npm run dev— start dev servernpm run build— production build + TypeScript checknpm run serve— preview production buildnpm run test— run Vitest
- Primary gate is
npm run build(vite build && tsc). - No dedicated lint/format script is currently configured.
- If there are no test files,
npm run testexits with Vitest “No test files found”.