Files
magistr/.agent/rules/main.md

46 lines
4.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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`.
## Языковые предпочтения
- **Всегда отвечайте на русском**: Это строгое требование пользователя. Все объяснения, комментарии и взаимодействия должны быть на русском языке, если только не будет специально запрошено иное.