Static frontend for planning OSCE study sessions for one university cohort, with Google Sheets as the backend data store through Google Apps Script.
The UI is split into two subpages:
- Main page at
#/for the most recent session calendar view, roster present/absent toggles, and current groups. - Admin page at
#/adminfor session creation, roster management, and group generation.
- Schedule study sessions.
- Restrict session creation and roster edits to admins.
- Let people RSVP as coming or not coming.
- Keep a roster and show who has responded.
- Generate weekly groups of 3, with groups of 2 when needed.
- Reduce repeat pairings across weeks when possible.
- Deploy the frontend to GitHub Pages.
- Install dependencies with
npm install. - Run the app with
npm run dev. - The app uses a local mock backend when
VITE_SHEETS_API_URLis not set.
The local mock admin password is retro-admin.
- Build with
npm run build. - Publish the
distfolder to GitHub Pages. - If your repo name changes, update
baseinvite.config.ts.
The apps-script/ folder contains a starter Google Apps Script backend that stores state in Sheets.
Required script properties:
SPREADSHEET_ID— the Google Sheet ID.ADMIN_PASSWORD— shared password for admin actions.
Suggested sheet tabs:
SettingsRosterSessionsRSVPsGroupHistory
The initial roster is seeded from Users.txt.