How stuy-arista/arista-web works
ARISTA is a SvelteKit website where members register, browse and join events, check in to meetings, request or provide tutoring, and track credits; administrators manage attendance, credits, permissions, and member records. PocketBase is the central store for users, events, credits, and meetings. A separate sharing branch fetches public preview data and renders social cards. The sampled files show key registration, dashboard, tutoring, crediting, and preview relationships; other route details are represented from the README and file tree, so their internal connections are left out.
Main entry points: tutoring/+page.server.ts Tutoring sessions · eventPreview.ts Event preview data · crediting/+page.server.ts Credit administration · linkPreviews.ts Preview metadata
Components 20
Member services
- Registration
src/routes/register/+page.server.ts - Credit dashboard
src/routes/+page.server.ts - Event signup
src/routes/(protected)/events/view/[id]/+page.server.ts - Meeting check-in
src/routes/(protected)/attendance/[code]/+page.server.ts - Tutoring sessions
src/routes/(protected)/tutoring/+page.server.ts
Administration
- Admin overview
src/routes/(protected)/admin/+page.server.ts - Attendance management
src/routes/(protected)/admin/attendance/+page.server.ts - Credit administration
src/routes/(protected)/admin/crediting/+page.server.ts
Data and integrations
- Credit planner
src/lib/server/planCredit.ts - Credit calculation
src/lib/calculateCredits.ts - PocketBase
- Slack tutoring alerts
Link previews
- Preview metadata
src/lib/server/linkPreviews.ts - Event preview data
src/lib/server/eventPreview.ts - Preview utilities
src/lib/server/previewUtils.ts - Social card endpoints
src/routes/og - Event card renderer
src/lib/server/cards/event.ts - Page card renderer
src/lib/server/cards/pages.ts - Card primitives
src/lib/server/cards/kit.ts
Other components
- Member or visitor
Connections 20
- Member or visitor → Registration: creates account
- Registration → PocketBase: creates and authenticates
src/routes/register/+page.server.ts - Member or visitor → Credit dashboard: views credits
- Credit dashboard → PocketBase: reads member data
src/routes/+page.server.ts - Member or visitor → Event signup: signs up
- Member or visitor → Meeting check-in: checks in
- Member or visitor → Tutoring sessions: requests tutoring
- Tutoring sessions → PocketBase: reads and updates
src/routes/(protected)/tutoring/+page.server.ts - Tutoring sessions → Slack tutoring alerts: updates alerts
src/routes/(protected)/tutoring/+page.server.ts - Admin overview → PocketBase: manages records
src/routes/(protected)/admin/+page.server.ts - Credit administration → Credit planner: creates planned credits
src/routes/(protected)/admin/crediting/+page.server.ts - Credit administration → PocketBase: looks up members
src/routes/(protected)/admin/crediting/+page.server.ts - Event preview data → Credit calculation: calculates event credits
src/lib/server/eventPreview.ts - Preview metadata → Event preview data: fetches event metadata
src/lib/server/linkPreviews.ts - Preview metadata → Preview utilities: uses preview helpers
src/lib/server/linkPreviews.ts - Event preview data → Preview utilities: fetches and formats data
src/lib/server/eventPreview.ts - Social card endpoints → Event card renderer: renders event cards
README.md - Social card endpoints → Page card renderer: renders page cards
README.md - Event card renderer → Card primitives: uses primitives
src/lib/server/cards/event.ts - Page card renderer → Card primitives: uses primitives
src/lib/server/cards/pages.ts