A web application for checking NTNUI Topptur og Frikjøring membership status.
- Upload CSV files with phone numbers to check membership status
- Batch processing with progress tracking
- Password-protected access
- Real-time membership validation via FastAPI backend
- Displays member status (valid/missing TF/NTNUI)
- Export non-member email lists
Requirements: Node.js 20.x & npm (install with nvm)
# Install dependencies
npm i
# Start development server
npm run devThis project uses Vercel serverless functions for the backend API. To test locally:
vercel devEnvironment variables: Create a .env file in the root directory:
fast_api_key_user=your_fastapi_key
VITE_APP_PASSWORD=your_app_password
fast_api_key_user: API key for TF FastAPI backendVITE_APP_PASSWORD: Password to access the application
The application is deployed on Vercel. Make sure to set the required environment variables in your Vercel project settings.
The application uses the TF FastAPI backend to check membership:
- Endpoint:
POST /api/check-ntnui-tf-memebership - Request body:
{ phones: ["12345678", ...] } - Response: Membership status for each phone number including
tf_validandntnui_validflags
The API processes requests in batches of 10 concurrent checks and validates that both TF and NTNUI memberships are active.
Upload a CSV file with a column containing phone numbers. The parser recognizes columns named:
phone,telefon,mobil,mobilnummer,tlf,telephone,mobile
- Vite
- TypeScript
- React
- shadcn-ui
- Tailwind CSS
- Vercel Serverless Functions