46 lines
2.4 KiB
Markdown
46 lines
2.4 KiB
Markdown
---
|
|
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. |