- Authentication & User Management
- Course Management
- Project Management
- Chat System
- Student Management
- Server Actions
Handles individual user operations.
GET: Retrieves user details by ID- Returns: User object or 404 if not found
Manages user collection operations.
GET: Retrieves all usersPOST: (Commented out) Creates a new user
Handles Clerk authentication webhooks.
POST: Processes user events (creation, updates, deletion)- Functions:
syncUserToDatabase: Syncs Clerk user data to local databasedeleteUserFromDatabase: Removes user from databasedetermineUserRole: Assigns user roles
Manages user role operations.
GET: Retrieves role for specific user ID
Handles course collection operations.
GET: Retrieves all courses with instructor detailsPOST: (Commented out) Creates new course
Manages individual course operations.
GET: Retrieves course details, projects, and assignmentsDELETE: (Commented out) Removes coursePUT: (Commented out) Updates course details
Handles assignment operations.
GET: Retrieves sample assignment data- Returns: Array of assignment objects with ID, title, maxGrade, description, dueDate, and status
Handles project collection operations.
GET: Retrieves all projectsPOST: (Commented out) Creates new project
Manages individual project operations.
GET: Retrieves project details, teams, and progressPUT: Updates project end date and team sizePOST: Adds new phase to project
Handles project phase operations.
GET: Retrieves phase detailsPUT: Updates phase load and deadlineDELETE: Removes phase
Manages project phases.
GET: Retrieves all phases for a project
Handles chat group collection.
GET: Retrieves all chat groups
Manages individual chat group operations.
GET: Retrieves chat group details and channels
Handles channel operations.
GET: Retrieves channel messages with date filtering
Manages individual message operations.
GET: Retrieves message details and attachmentsPATCH: (Commented out) Updates message content
Handles student collection operations.
GET: Retrieves student count and list
Manages student calendar.
GET: Retrieves deadlines for assignments and phases
Handles student course operations.
GET: Retrieves enrolled courses with grades
Manages student grades.
GET: Retrieves comprehensive grade information
Handles student profile operations.
GET: Retrieves student profile, badges, reviews, and teams
Manages student team memberships.
GET: Retrieves teams student belongs to
renameGroup: Updates group namedeleteGroup: Removes chat groupcreateGroup: Creates new chat group
createChannel: Creates new channeldeleteChannel: Removes channelupdateChannel: Updates channel details
insertMessage: Creates new messageeditMessage: Updates message contentdeleteMessage: Removes message
addUser: Creates new userfetchUserData: Retrieves user dataupdateUser: Updates user details
Participation: Manages team participation
addphaseSubmission: Handles phase submissions
addAssignmentSubmission: Handles assignment submissions
GiveReview: Manages peer reviews
addProject: Creates new project
addCourse: Creates new course