Backend API
FlaskBackend
Component used to handle code suggestions, user requests and the flow of suggestions.
Methods:
processCodeRequests()
- Takes incoming user made coding requests generated from the AI tool.
 - Returns: 
CodeSuggestion- The AI-generated code response.
 
 
trackUserProgress()
- Handles the user's suggestion choices.
 - Correct and incorrect modifications and choices are stored and used to track progression or decline while using the copilot tool.
 - Progress data fields are updated with corresponding tracking data.
 - Returns: 
booleantrueif tracking is successful.
 
controlSuggestionFlow()
- Control the frequency of coding suggestions presented to the user.
 - Control where within the user's code the suggestions will be made.
 - Returns: 
void 
OllamaAI
AI Component that will be used to monitor progress and generate coding suggestions and intentional errors to help the user learn new coding concepts.
Data fields
modelId: integer: Classifies which OllamaAI model is being used.modelName: string: The name of the AI model that is being used.price: float: The price of the AI service. Monthly or yearly subscription for access to the service and its features.
Methods
generateContextAwareSuggestions()
- Creates an AI generated, correct or incorrect coding suggestion to the user.
 - User's action taken on the suggestions is logged.
 - Returns: 
CodeSuggestion- AI-generated code snippet.
 
 
introduceMistakes()
- Presents the user intentionally incorrct code.
 - Code is generated with what the user is working on in their codespace, requiring careful analysis to determine that it is an error.
 - Returns: 
CodeSuggestion- Buggy AI-generated code snippet.
 
 
adaptToUserProgress()
- Monitor correct and incorrect suggestion choices and use the AI model to update level and difficulty.
 - Calls the trackUserProgress function.
 - Returns coding suggestions based off of the user's progression.
 - Returns: 
void 
SupaBase
Component that will provide backend storage and authentification.
Methods
authenticateUser()
- Calls a person's credential information.
 - Confirms information with that in the database to allow for access to an account.
 - Returns: 
booleantrueif authentication is successful.
 
logUserActivity()
- Track a user's suggestion choices.
 - Create logs in order to update difficulty of prompts and adapt to progress.
 - Update suggestion settings for different users based off their progress.
 - Returns: 
booleantrueif logging is successful.