Common-Backend contains all server-side logic for service LLM-Tests-Checker. However, all functionality of tests checking using LLMs is in LLMs-Service.
- 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.
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:
- Installed GO
- Installed docker and docker-compose
- Prepare development environment:
make launch-dev-env
- Launch server:
make launch-server
- Launch worker:
make launch-worker
- Launch consumer:
make launch-consumer
- Create new branch from main:
git branch <YOUR_NICKNAME>:<FEATURE_NAME>
- Checkout to your branch:
git checkout <BRANCH_NAME_FROM_POINT_1>
- Write code
- Write tests(IMPORTANT)
- Test code on development environment
- Create Pull Request
- Wait for approve