Skip to main content

Development Environment

This document explains the development environment

Frontend and Backend

Frontend

      React.js (Version: 18.2.0)

  • Library for web applications
  • Creates user interfaces
  • Reusable components for flexibility
  • Easy to manage HTML, JavaScript, and CSS

Backend

      Python (Version: 3.12.3)

  • Flask (Version: 3.0.0)
    • Used to handle API calls
    • Very flexible compared to other frameworks
    • Handles interactions with databases and user requests
  • CPython (Version 3.12.3)
    • Default interpreter for Python

Database

      PostgreSQL + PgVector

  • Holds relevant information for Chabot

Large Language Model

      Large Language Model Meta AI (Llama)

  • Autoregressive large language model developed by Meta AI
  • Designed to understand and generate human-like responses
  • Finetuned to chat with users

Technique for LLM

      Retrieval-Augmented Generation (RAG)

  • Allows LLMs to make queries using external documentation and training data

Documentation

      Docusaurus (Version: 3.7.0)

  • Creates a customizable documentation website

Testing Tools

      Postman (Version 11.3.2)

  • Used to test API calls

      Pytest (Version 8.3.4)

  • Great for unit testing Python code

      Vitest (Version 3.0.5)

  • Good for unit testing Reat.js code

Hardware

      A computer with a modern operating system (Windows, MacOS, Linux)

      An up-to-date web browser, such as:

  • Google Chrome: Version 131 or later
  • Mozilla Firefox: Version 133 or later
  • Microsoft Edge: Version 131 or later
  • Apple Safari: Version 18.0 or later

       Internet access


Developer Tooling and Workflow

  • GitHub: Manages version control and collaboration.
  • Jira: Used for project management and task tracking.
  • ESLint & Prettier: Enforces consistent code formatting and quality.
  • Docker: Containerizes services for easy deployment.