The RekAcad client provides the user interface through which instructors and students interact with the RekAcad service. It allows users to authenticate, initiate recording sessions, monitor recording status, and explore processed lecture artifacts such as transcripts, summaries, notes and timestamped highlights.
This repository contains all client‑side sources and assets required to:
- Authenticate users and obtain authorization tokens for API access.
- Create and manage recording sessions (start/stop, select group, supply conference link).
- Display a list of recordings with statuses and metadata.
- Present detailed views of a recording: embedded video player, transcript viewer, time‑indexed summary, and lecture notes.
- Manage group membership and permissions (group creation, invitations and membership management through API calls).
- The user logs in to the client and receives an authorization token from the backend.
- To start a session the user fills a simple form (conference link, optional metadata, target group) and submits it to the backend API.
- The client shows an immediate session status and subscribes to updates (polling or WebSocket) to reflect lifecycle changes (queued, recording, processing, ready).
- When processing is complete, the client loads transcripts, summaries and notes from the backend and renders them alongside the video player with synchronized timestamps.
- Users may download artifacts or share access links according to permissions granted by the backend.
- Because the client and backend are separate repositories, the client should allow the API base URL and authentication settings to be configured at build or runtime.
- The client must handle token refresh and error cases gracefully and present clear status information for long‑running tasks.