Files
magistr/.agent/rules/main.md

4.2 KiB
Raw Blame History

trigger
trigger
always_on

Контекст проекта: Система расписания университета

Обзор проекта

Этот проект представляет собой веб-сайт системы управления университетским расписанием.

  • Роль: Образовательная платформа для управления расписанием.
  • Язык: Смешанный (Java Backend + Web Frontend).
  • Публичный URL: https://magistr.zuev.company

Структура директорий и обязанности

Проект следует определенной структуре папок. Вы должны придерживаться этих путей:

  • backend/: Содержит исходный код бэкенд-приложения на Java.

    • При работе с API или серверной логикой фокусируйтесь здесь.
  • frontend/: Содержит исходный код фронтенда. Обратите внимание на строгое разделение ролей:

    • frontend/admin/: Код, специфичный для интерфейса Администратора.
    • frontend/teacher/: Код, специфичный для интерфейса Преподавателя.
    • frontend/student/: Код, специфичный для интерфейса Студента.
    • Ограничение: Не смешивайте логику между этими папками, если только не создаете общую утилиту.
  • db/: Конфигурация и данные базы данных.

    • db/init/init.sql: SQL-скрипт, отвечающий за создание и инициализацию схемы базы данных (таблицы, начальные данные).
  • Корневые файлы:

    • compose.yaml: Конфигурация Docker Compose. Этот файл определяет сервисы (бэкенд, БД, фронтенд-серверы) и то, как они работают вместе.
    • .env: Переменные окружения. Содержит конфиденциальные настройки (пароли БД, порты, ключи API).

Внешние зависимости (родительская директория)

Некоторые компоненты инфраструктуры расположены за пределами корня проекта:

  • ../caddy-proxy/: Находится на один уровень выше относительно корня проекта.
    • Роль: Реверс-прокси, обрабатывающий трафик для magistr.zuev.company.
    • Caddyfile: Конфигурация для маршрутизации и SSL.
    • compose.yaml: Отдельный файл Docker Compose специально для службы прокси.

Рекомендации по рабочему процессу

  1. Изменения в базе данных: Если вам нужно изменить схему базы данных, вы должны обновить db/init/init.sql, чтобы изменения сохранялись при пересборке контейнера.
  2. Конфигурация: Если вы добавляете новые параметры конфигурации, добавьте их в .env и сошлитесь на них в compose.yaml или коде приложения.
  3. Маршрутизация/Прокси: Если возникают проблемы с доменом или внешним доступом, проверьте конфигурацию в ../caddy-proxy/Caddyfile.

Языковые предпочтения

  • Всегда отвечайте на русском: Это строгое требование пользователя. Все объяснения, комментарии и взаимодействия должны быть на русском языке, если только не будет специально запрошено иное.