Skip to main content

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: boolean
    • true if 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: boolean
    • true if 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: boolean
    • true if logging is successful.