Files
magistr/.agent/rules/main.md
2026-02-18 21:56:57 +00:00

2.4 KiB

trigger
trigger
always_on

Project Context: University Schedule System

Project Overview

This project is a university scheduling system website.

  • Role: Educational platform for managing schedules.
  • Language: Mixed (Java Backend + Web Frontend).
  • Public URL: https://magistr.zuev.company

Directory Structure & Responsibilities

The project follows a specific folder structure. You must adhere to these paths:

  • backend/: Contains the Java backend application source code.

    • When working on API or server logic, focus here.
  • frontend/: Contains the frontend source code. Note the strict role separation:

    • frontend/admin/: Code specific to the Administrator interface.
    • frontend/teacher/: Code specific to the Teacher interface.
    • frontend/student/: Code specific to the Student interface.
    • Constraint: Do not mix logic between these folders unless creating a shared utility.
  • db/: Database configuration and data.

    • db/init/init.sql: The SQL script responsible for creating and initializing the database schema (tables, initial data).
  • Root Files:

    • compose.yaml: The Docker Compose configuration. This file defines the services (backend, db, frontend servers) and how they run together.
    • .env: Environment variables. Contains sensitive config (DB passwords, ports, API keys).

External Dependencies (Parent Directory)

Some infrastructure components are located outside the project root:

  • ../caddy-proxy/: Located one level up relative to the project root.
    • Role: Reverse proxy handling traffic for magistr.zuev.company.
    • Caddyfile: Configuration for routing and SSL.
    • compose.yaml: A separate Docker Compose file specifically for the proxy service.

Workflow Guidelines

  1. Database Changes: If you need to modify the database schema, you must update db/init/init.sql so the changes persist when the container is rebuilt.
  2. Configuration: If adding new configuration parameters, add them to .env and reference them in compose.yaml or the application code.
  3. Routing/Proxy: If there are issues with the domain or external access, check the configuration in ../caddy-proxy/Caddyfile.

Language Preference

  • Always answer in Russian: This is a strict requirement from the user. All explanations, comments, and interactions must be in Russian unless specifically asked otherwise.