Skip to content

LLM-Grading-System/Platform-Backend

Repository files navigation

Документация

Модель данных

erDiagram
    USERS {
        UUID user_id PK
        string login
        string salt
        string hashed_password
        string role
        datetime created_at
    }

    SESSIONS {
        UUID session_id PK
        UUID user_id FK
        datetime expired_at
        string user_agent
    }

    STUDENTS {
        UUID student_id PK
        int tg_user_id
        string tg_username
        string gh_username
        datetime registered_at
    }

    TASKS {
        UUID task_id PK
        string name
        string system_instructions
        string ideas
        string gh_repo_url
        string level
        string tags
        bool is_draft
    }

    SUBMISSIONS {
        UUID submission_id PK
        UUID task_id FK
        UUID student_id FK
        string gh_repo_url
        string code_file_name
        string llm_grade
        string llm_feedback
        string llm_report
        datetime evaluated_at
        datetime created_at
    }

    COMPLAINTS {
        UUID complaint_id PK
        UUID task_id FK
        UUID student_id FK
        string student_request
        string teacher_response
        datetime created_at
    }

    USERS ||--o{ SESSIONS : has
    STUDENTS ||--o{ SUBMISSIONS : makes
    TASKS ||--o{ SUBMISSIONS : receives
    TASKS ||--o{ COMPLAINTS : receives
    STUDENTS ||--o{ COMPLAINTS : makes
Loading

Разработка

Переменные окружения

MODE=dev
# Postgres Envs
POSTGRES_DB=grading
POSTGRES_USER=postgres
POSTGRES_PASSWORD=password
POSTGRES_PORT=5432
POSTGRES_HOST=localhost
# Minio Envs
MINIO_PORT=9000
MINIO_HOST=localhost
MINIO_ROOT_USER=minio
MINIO_ROOT_PASSWORD=password
MINIO_ACCESS_KEY=access-key
MINIO_SECRET_KEY=secret-key
MINIO_BUCKET=submissions
# Kafka
KAFKA_BOOTSTRAP_SERVERS=localhost:29092
KAFKA_UI_ADMIN_LOGIN=admin
KAFKA_UI_ADMIN_PASSWORD=password

Установка библиотек с uv

uv sync

Запуск контейнеров для разработки

Контейнер приложения запускается в reload-режиме для разработки

docker compose -f dev.docker-compose.yaml build
docker compose -f dev.docker-compose.yaml up -d

Запуск в dev-режиме

uv run fastapi dev src/app.py --port 8000

Запуск форматтера и линтера с автофиксами

uv run ruff format ./src
uv run ruff check --fix src

Тестирование

  • GitHub owner: ashishpatel26
  • GitHub repo: vectordb-recipes

About

Основной бэкенд для системы оценивания

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published