2.4 KiB
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.
- Role: Reverse proxy handling traffic for
Workflow Guidelines
- Database Changes: If you need to modify the database schema, you must update
db/init/init.sqlso the changes persist when the container is rebuilt. - Configuration: If adding new configuration parameters, add them to
.envand reference them incompose.yamlor the application code. - 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.