Skip to content

LLM-Tests-Checker/Common-Backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Common-Backend

Common-Backend contains all server-side logic for service LLM-Tests-Checker. However, all functionality of tests checking using LLMs is in LLMs-Service.

Features:

  • Code auto-generation based on Open-API definition. Common-Backend API definition contains in api folder.
  • Using MongoDB as main database of project.
  • Using Kafka for messaging between services.
  • Configurable environment using .env file.
  • Prepared development environment.
  • Layered architecture.
  • Separation of responsibilities through different applications.

Project Architecture:

Common-Backend consist of 3 different GO applications:

  • Server - provides an external API for service and used for basic CRUD operations.
  • Worker - monitors the llm check tasks and sends them to kafka topic.
  • Consumer - listens kafka topic with completed llm checks and updates data in the database.

The scheme of the applications work looks like this:

How to launch?

Pre-Requirements:

  • Installed GO
  • Installed docker and docker-compose
  1. Prepare development environment:
make launch-dev-env
  1. Launch server:
make launch-server
  1. Launch worker:
make launch-worker
  1. Launch consumer:
make launch-consumer

How to contribute?

  1. Create new branch from main: git branch <YOUR_NICKNAME>:<FEATURE_NAME>
  2. Checkout to your branch: git checkout <BRANCH_NAME_FROM_POINT_1>
  3. Write code
  4. Write tests(IMPORTANT)
  5. Test code on development environment
  6. Create Pull Request
  7. Wait for approve