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.