44 lines
2.2 KiB
Markdown
44 lines
2.2 KiB
Markdown
# Repository Guidelines
|
|
|
|
## Project Structure & Module Organization
|
|
- `backend/` is a Spring Boot 2.7 (Java 17) service with MyBatis-Plus and JWT security.
|
|
- Main code: `backend/src/main/java/com/gpf/pethospital`
|
|
- Config: `backend/src/main/resources/application.yml` and `application-dev.yml`
|
|
- `frontend/` is a Vue 3 + Vite app with Pinia and TDesign.
|
|
- Source: `frontend/src/` (pages, router, store, layouts, styles)
|
|
- Static assets: `frontend/src/assets/`
|
|
- `docs/` and `*.drawio` contain documentation and UML/ER diagrams.
|
|
- `frp/` and `start_frp.sh` include FRP configuration/scripts.
|
|
|
|
## Build, Test, and Development Commands
|
|
Backend (from `backend/`):
|
|
- `mvn spring-boot:run` — run the API locally.
|
|
- `mvn clean package` — build a runnable jar.
|
|
- `mvn test` — run Spring Boot tests (if present).
|
|
|
|
Frontend (from `frontend/`):
|
|
- `npm install` — install dependencies.
|
|
- `npm run dev` — start Vite dev server.
|
|
- `npm run build` — production build.
|
|
- `npm run preview` — preview the production build.
|
|
|
|
## Coding Style & Naming Conventions
|
|
- Java: 4-space indentation, standard Spring Boot conventions, packages under `com.gpf.pethospital`.
|
|
- Vue/TypeScript: ES module syntax, semicolons used; follow existing file structure.
|
|
- Use descriptive, domain-specific names (e.g., `AppointmentController`, `appointmentService`).
|
|
|
|
## Testing Guidelines
|
|
- No dedicated test directories are present yet.
|
|
- Backend tests should go in `backend/src/test/java` using Spring Boot Test.
|
|
- Frontend has no test runner configured; if adding, include a script in `frontend/package.json`.
|
|
|
|
## Commit & Pull Request Guidelines
|
|
- Current commit history uses short Chinese descriptions like “添加…” and “将…更改为…”.
|
|
- Keep messages short, imperative, and meaningful; avoid placeholder commits like “1”.
|
|
- PRs should include: a clear summary, testing performed (or “not run”), and screenshots for UI changes.
|
|
|
|
## Configuration & Security Notes
|
|
- `application-dev.yml` contains local MySQL defaults (user `root`, password `password`).
|
|
Update credentials via environment or local overrides; do not commit real secrets.
|
|
- JWT secrets are currently hardcoded in config; rotate for real deployments.
|