This project is a FastAPI-based server application for managing classes and students. It provides endpoints to create, read, and delete classes, as well as group students based on similarities using text embeddings.
- Create a new class
- Read details of a specific class, including its students
- List all classes with pagination
- Delete a class
- Group students based on similarities
- Additional functionalities for managing student data
- Update student embeddings when information is added or updated
- Generate groups for a class based on student embeddings
POST /users/: Create a new userGET /users/{email}: Read user details by emailPUT /users/{email}/info: Update user information and embeddingsGET /users/: List all users with paginationDELETE /users/{email}: Delete a user by email
POST /classes/: Create a new classGET /classes/{class_id}: Read class details by class IDGET /classes/: List all classes with paginationDELETE /classes/{class_id}: Delete a class by class ID
POST /group/groups: Generate groups for a class based on student embeddings
When a user adds or updates their information, the application will automatically update their embeddings.
To generate groups for a class, use the /group/groups endpoint. This will create groups based on the student embeddings for the specified class.