Repository Guidelines

Project Structure & Module Organization

This repository is a RuoYi-based Java 8/Spring Boot backend with a Vue 2 admin frontend. Backend Maven modules live at the root: ruoyi-admin is the admin app, ruoyi-applet is the applet app, ruoyi-system holds business services and mappers, ruoyi-framework provides shared configuration, ruoyi-common contains utilities, ruoyi-quartz handles jobs, and ruoyi-generator handles code generation. Frontend code is in ruoyi-ui/src; assets are under ruoyi-ui/public and ruoyi-ui/src/assets. Documents belong in doc/. Do not edit generated target/ output.

Build, Test, and Development Commands

  • mvn clean package -DskipTests: builds all backend modules without running tests.
  • mvn test: runs backend tests.
  • mvn -pl ruoyi-admin -am spring-boot:run: starts the admin backend.
  • mvn -pl ruoyi-applet -am spring-boot:run: starts the applet backend.
  • cd ruoyi-ui && npm install: installs frontend dependencies.
  • cd ruoyi-ui && npm run dev: starts the Vue development server.
  • cd ruoyi-ui && npm run build:prod: creates the production frontend build.
  • cd ruoyi-ui && npm run lint: runs ESLint on src/**/*.js and src/**/*.vue.

Coding Style & Naming Conventions

Use Java 8 and UTF-8. Follow RuoYi layering: controllers under web/controller, services under service, domain objects under domain, and MyBatis mappers under mapper. Java classes use PascalCase; methods, fields, and Vue/JS variables use camelCase. Keep controllers thin and place business logic in services. Frontend formatting follows ruoyi-ui/.editorconfig: two-space indentation, LF line endings, final newline, and trimmed trailing whitespace except Markdown. ESLint enforces single quotes and no semicolons.

Testing Guidelines

Place backend tests in each module's src/test/java tree. Use names such as UserServiceTest.java or CodeGeneratorTests.java. Cover service logic, mapper behavior, permissions, and regressions before changing ruoyi-common or ruoyi-framework. Run mvn test before backend PRs and npm run lint before frontend PRs. The frontend has no dedicated test script, so add one before relying on frontend automated tests.

Commit & Pull Request Guidelines

Git history only shows Initial commit; use concise imperative commits with an optional scope, for example system: add mission status validation. Pull requests should describe the change, list verification commands, link issues, and include screenshots for UI changes. Keep PRs focused; separate backend, frontend, database, and generated-code changes when possible.

Security & Configuration Tips

Do not commit credentials or production-only values in application-*.yml or .env.*. Prefer local overrides outside version control. Review database, Redis, upload-path, and token settings before running non-local profiles.