This repository contains the source code for the Hack4Impact-UMD application portal. The project includes both the frontend for applicants to submit and view the status of their applications and tools designed to make reviewing applications more efficient for club members.
- Framework: React
- Build Tool: Vite
- Language: TypeScript
- Styling: Tailwind CSS
- UI Components: shadcn/ui, Radix UI
- Data Fetching: TanStack Query
- Routing: React Router
- Schema Validation: Zod
- Runtime: Node.js
- Framework: Express
- Platform: Firebase (Cloud Functions, Firestore, Authentication, Storage)
- Language: TypeScript
- Schema Validation: Zod
frontend/
├── public/ # Static assets
└── src/
├── components/ # Reusable React components
├── config/ # Firebase and React Query configuration
├── contexts/ # React contexts for state management
├── hooks/ # Custom React hooks
├── lib/ # Utility functions
├── pages/ # Top-level page components
├── services/ # Services for interacting with the backend
├── types/ # TypeScript type definitions
└── utils/ # Miscellaneous utility functions
backend/
└── functions/
├── src/
│ ├── middleware/ # Express middleware
│ ├── models/ # Data models
│ ├── routes/ # API routes
│ ├── types/ # TypeScript type definitions
│ └── utils/ # Utility functions
└── lib/ # Compiled JavaScript code
- Navigate to the
frontend
directory:cd frontend
- Install dependencies:
npm install
- Run the development server:
npm run dev
For more information on fetching data from the backend, see the Data Fetching Guide.
For instructions on setting up the Firebase emulators, see the Firebase Emulator Setup Guide.
- Navigate to the
backend/functions
directory:cd backend/functions
- Install dependencies:
npm install
- Build the project:
npm run build
- Run the Firebase emulators:
npm run serve
Note: Some of these may be outdated




Name | Role | Contact | |
---|---|---|---|
Ramy Kaddouri | Tech Lead | Slack | TODO |
Lance Uymatiao | Tech Lead | Slack | lanceu0128@gmail.com |