Feedstack API - Class Documentation
Class: Participant
Description
Represents an entity interacting with the system, primarily a user submitting design feedback.
Fields
- private int id- Unique identifier for the participant.
- private String name- Full name of the participant.
- private String email- Contact email for correspondence and authentication.
- private Date createdAt- Timestamp indicating the entity creation time.
Methods
public Participant()
Description: Default constructor that initializes participant properties.
public int getId()
Returns: Unique identifier of the participant.
public String getName()
Returns: Full name of the participant.
public String getEmail()
Returns: Email of the participant.
public Date getCreatedAt()
Returns: Timestamp of when the participant record was created.
Class: ChatMessage
Description
Stores dialogue between a participant and the system for design feedback.
Fields
- private int id- Unique identifier for the chat message.
- private Participant participant- Reference to the participant.
- private String message- Message content.
- private Date timestamp- System-generated timestamp upon message creation.
Methods
public ChatMessage()
Description: Default constructor that initializes chat message properties.
public int getId()
Returns: Unique identifier of the chat message.
public Participant getParticipant()
Returns: Associated participant.
public String getMessage()
Returns: Content of the message.
public Date getTimestamp()
Returns: Timestamp of when the message was created.
Class: DesignUpload
Description
Represents an uploaded design file submitted for evaluation and feedback.
Fields
- private int id- Unique identifier for the uploaded design.
- private Participant participant- Reference to the participant.
- private File file- Uploaded design file.
- private Date uploadedAt- Timestamp of file submission.
Methods
public DesignUpload()
Description: Default constructor that initializes design upload properties.
public int getId()
Returns: Unique identifier of the design upload.
public Participant getParticipant()
Returns: Associated participant.
public File getFile()
Returns: The uploaded design file.
public Date getUploadedAt()
Returns: Timestamp of when the file was uploaded.
Class: 'Views'
Description: Save and decode uploaded files for necessary image data. Create views based on model feedback.
Methods
'ParticipantView(APIView)'
Description: Initialize participant & serializer LLM
'DesignFeedbackView(APIView)'
**Description:**Decode base64 image data and save as image file
'ChatbotView(APIView)'
Description: Respond to user message with provided design
'IdentifyThemeView(APIView)'
Description: Establish baselines for chatbot to focus on UI/UX principles
'SummarizeView(APIView)'
Description: Provide direction to the chatbot on how to summarize content
Class: OpenAIIntegration
Description
Handles integration with OpenAI API for AI-generated feedback.
Methods
public static String generateFeedback(String inputText)
Description: Sends user input to OpenAI API for analysis and returns AI-generated feedback.
Parameters
- inputText (String)- User-supplied textual input.
Returns
- (String)- AI-generated response based on input analysis.
Exceptions
- ConnectionError- Raised if OpenAI API is unreachable.
- TimeoutError- Raised if the request exceeds response time limits.
- ValueError- Raised if input text is empty or improperly formatted.
Class: APIErrorHandling
Description
Manages exception handling across the API to ensure robust error reporting.
Methods
public static String handleException(Exception e)
Description: Provides a formatted error message for caught exceptions.
Parameters
- e (Exception)- Exception instance thrown by the system.
Returns
- (String)- A formatted error message for the API response.