Invite links for course members #118
Labels
No labels
bug
ci/cd
dependencies
design
docs
feature
feature-request
go
good first issue
improvement
refactor
vulnerability
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
dsc/mm-backend#118
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
NOTE: This text was generated using an LLM based on a conversation with
@Ezhkin-Kot.Field names, variables, endpoints, and other programming elements may differ.Implementing Invite Link Mechanism for Courses
Problem Description
Need to implement an invite link system that allows instructors to invite students and teachers to courses through unique links with the ability to track who specifically shared the link.
Proposed Solution
Database Architecture
Table for storing invite data with fields –
invites:id(UUID) — unique identifier for the invite linkcourse_id— ID of the course the link leads tocreated_by— ID of the instructor who created the linkForeign key in
course_memberstable:invited_byreferencinginvites(id)Workflow
Creating an invite link:
/invite/{uuid}Following the link:
user_id)course_idfrom the invites table by UUIDcourse_memberswith theinvited_byfield populatedTracking:
invited_by, you can determine which specific invite link the student usedcreated_byin the invites table — who created that linkAdditional Features
Benefits of This Approach
Alternatives
JWT tokens— rejected, as it would require either a blacklist in the database or inability to revoke linksassigned to
@Ezhkin-Kotmentioned in merge request !251