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.
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.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.
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.
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.
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.