React, TypeScript, Express and MongoDB.
Use Node 22 and pnpm. Copy server/.env.example to server/.env and fill in the values.
pnpm install
pnpm devVite prints the frontend URL. The local API runs on port 5051.
pnpm build
pnpm lintOpen /admin directly to sign in and edit homepage text, team members, events,
sponsors, gallery photos and FAQs. Image uploads use Cloudinary.
Contact sends email through Resend to umsa@projects.wdcc.co.nz.
Set RESEND_API_KEY and CONTACT_FROM_EMAIL using a verified sender.
Membership is managed through the linked Google Form.
See setup, API reference and contributors.