User management
Create, promote/demote, suspend/block, and remove accounts. 🚫
suspends or blocks an account — denies login and signs out any
already-open session immediately, reversible any time. Deleting an
account permanently deletes everything it owns — courses, events,
documents, goals, and to-dos.
API usage
Successful Gemini/OpenWeather requests, per account — including requests against an account's own key (gear icon → API keys), called out inline as "(N own key)" so they're still attributed to that account rather than disappearing from the count. The two totals below cover only the shared key specifically — the number that actually matters for quota risk, since own-key requests don't touch it.
| Account |
Gemini (today) |
Gemini (all-time) |
Weather (today) |
Weather (all-time) |
No API requests logged yet.
Google OAuth
Powers every account's "Connect Google Calendar" (Settings →
"Google Calendar"). One client for the whole app — from a free
Google Cloud project: enable the Calendar API, configure the
OAuth consent screen (External, scope
.../auth/calendar.readonly, add test users), then
create an OAuth Client ID (type "Web application") with both
http://127.0.0.1:8788/api/google-calendar/oauth/callback
and https://studentm8.uk/api/google-calendar/oauth/callback
as authorized redirect URIs.