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.