This is the frontend repository for the ACM Officer Database, a comprehensive management platform for ACM officers at UTD.
- Firebase-based login flow
- Protected routes with automatic redirects
- ID token handling for secure API requests
- View and edit personal profiles (name, photo, academics)
- Track internships with add/edit/delete capabilities
- Manage research experiences
- Update social links (LinkedIn, GitHub, email)
- Resume upload and management
- Browse all active officers
- Filter by division and access level
- View archived officer profiles
- Role-based access control
- All API responses parsed against Zod schemas
- Type-safe query client with React Query
- Endpoint type safety via union types
- Node.js (v18 or higher)
- npm or yarn
- Clone the repository
$ git clone https://github.com/acmutd/officer-database.git
$ cd officer-database- Install dependencies
$ npm install- Build to make sure everything works
$ npm run build- Start the development server
$ npm run devThe app will be available at http://localhost:3000
npm run dev- Start development servernpm run build- Build for production (includes TypeScript check)npm run serve- Preview production build locallynpm run test- Run test suite