| New file |
| | |
| | | # Repository Guidelines |
| | | |
| | | ## Project Structure & Module Organization |
| | | - Java backend lives in `src/main/java/com/zy`: `core` drives device orchestration, `asrs` holds domain logic/tasks/websockets, `system` manages auth/permissions/logging, and `common` hosts shared web/utils. |
| | | - Resources in `src/main/resources`: `application.yml`, MyBatis-Plus XML mappers in `mapper/`, and SQL helpers in `sql/`. |
| | | - UI assets sit in `src/main/webapp` with static JS/CSS/Layui/Vue and feature views grouped under `views/` (e.g., `views/locMast`, `views/user`). |
| | | - Build output lands in `target/` as `wcs.war`; runtime logs default to `stock/out/wcs/logs`. |
| | | |
| | | ## Build, Test, and Development Commands |
| | | - `mvn clean package -DskipTests` — compile and build the WAR in `target/`. |
| | | - `mvn spring-boot:run` — start the app using `src/main/resources/application.yml`. |
| | | - `mvn test` — execute the test suite (add tests under `src/test/java`). |
| | | - Adjust DB/Redis endpoints in `application.yml` or via env overrides before running locally. |
| | | |
| | | ## Coding Style & Naming Conventions |
| | | - Java 8 with 4-space indentation; Lombok annotations already used in entities/services. |
| | | - Controllers end with `Controller`, services with `Service`/`ServiceImpl`, and MyBatis mappers with `Mapper` plus XML in `mapper/`. |
| | | - Use `camelCase` for fields/methods, `UPPER_SNAKE_CASE` for constants, and package by feature (core/asrs/system/common). |
| | | - Keep REST endpoints descriptive and consistent with the `/@pom.build.finalName@` context path. |
| | | |
| | | ## Testing Guidelines |
| | | - Add JUnit/Spring Boot tests in `src/test/java` mirroring package structure; name classes `*Test`. |
| | | - For data access, prefer `@SpringBootTest` with test containers or stubbed beans; isolate mapper XML where possible. |
| | | - Target coverage on controller/service logic and device orchestration flows; document required external services. |
| | | |
| | | ## Commit & Pull Request Guidelines |
| | | - Use imperative, scoped commit messages (e.g., `core: stabilize rgv reconnect`) and keep commits focused. |
| | | - PRs should describe the change, related ticket/issue, how to reproduce/verify, and note config or schema impacts. |
| | | - Include screenshots for UI updates under `src/main/webapp` and list commands/tests executed (build, test, spring-boot:run). |
| | | - Avoid committing secrets; sanitize `application.yml` or provide sample overrides instead. |
| | | |
| | | ## Security & Configuration Tips |
| | | - Update database and Redis credentials in `application.yml` before running; never commit real credentials. |
| | | - Logging path defaults to `./stock/out/wcs/logs`; ensure the directory is writable in your environment. |
| | | - Swagger is disabled by default (`swagger.enable: false`); enable only in trusted environments. |