MCPcopy Index your code
hub / github.com/ccmjga/mjga-scaffold

github.com/ccmjga/mjga-scaffold @v3.2.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release v3.2.1 ↗ · + Follow
232 symbols 701 edges 53 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

MIT License logo.png

Please select your favorite engineering paradigm - Database First

Build RESTful, stateless, cloud-native, three-tier Docker-based architectural applications around type-safe, reusable, Debug-enabled SQL with databases as first-class citizens.

Build RESTful, stateless, cloud-native, Docker-based, domain-driven applications with models, domains, and modules as first-class citizens around the revolutionary modern ORM.

Database First

Mjga is a completely redesigned, modern Java Web scaffolding built on a cloud-native philosophy with the following features:

  • Containerized applications
  • Components that can be loaded and unloaded
  • Reputable unit testing
  • Customizable meta-information

🥝 Template Selection

stack_dbfirst_en.png

🍅 Component Configuration

stack_en.png

🍹 Custom Metadata

meta_en.png

Containerization and Cloud-Native

  1. Manage the entire lifecycle and configuration of the application via docker-compose.yml.
  2. Customize all configurations through the .env file.
  3. Deliver the entire application and its ecosystem components via docker-compose.yml.

Out-of-the-Box

  1. Integrates common basic business functionalities such as authentication, permission management, and cache abstraction.
  2. Code Check & Format, CI/CD Plugin, Docker Integration are all ready to use out of the box.
  3. Comprehensive, design-driven, and environment-isolated unit testing.

Modernization

  1. Modern: Technology choices align with the latest trends in the open-source community.
  2. Configurable: Supports component selection on the web.
  3. Best Practices: Every variable, function, module, and component is designed with best practices in mind.
  4. Focused Boundaries: Stays within its functional boundaries, avoiding an "All In One" approach.

Quick Start

Confirm Environment Variables and Execution Permissions

# confirm .env and make sure process can use it
vim ${projectRoot}/.env
# confirm gradlew executable (unix-like OS)
chmod 755 ${projectRoot}/gradlew

Install Docker and Start Containers

cd ${projectRoot}
docker compose up -d database
docker compose build web
docker compose up -d web

(Optional) Start Locally

# confirm .env and gradle.properties make sure process can use it
vim ${projectRoot}/.env
docker compose up -d database
./gradlew jooqCodegen
${projectRoot}/gradlew bootRun

Common Tools

Compile the Project and Generate Table Mapping Objects and Data Access Layer Based on Database Schema

# generate schema mapping codes
./gradlew jooqCodegen
# output ->
# projectRootDir/build/generated-sources
# └── org.jooq.generated
#    └── tables # table mapping
#       ├── daos # Data Access Layer
#       ├── pojos # mapping dto
#       └── records # jooq query record

Global Code Formatting

./gradlew spotlessApply

Global Code Inspection

./gradlew pmdMain

Unit Testing

# will automatically generate jacocoTestReport
./gradlew test

更多文档请点击...

🍓 Test Report

summary

🍟 Miscellaneous

  1. This repository is primarily for code display and issue collection. The code may lag behind the version available for download from the product's official website.
  2. Please submit any feedback, discussions, or bugs to the issue tracker, and I will handle them seriously.
  3. I also welcome any ideas from other communities and will actively participate in the replies.
  4. More new video tutorials are being recorded, please stay tuned.
  5. Promote Mjga to your colleagues and friends, and let Java be great again.

🔮 User Community

Static Badge Static Badge Static Badge Static Badge

Core symbols most depended-on inside this repo

Shape

Method 180
Class 49
Enum 3

Languages

Java100%

Modules by API surface

src/test/java/com/zl/mjga/unit/UserRolePermissionUnitTest.java15 symbols
src/main/java/com/zl/mjga/service/UserRolePermissionService.java14 symbols
src/main/java/com/zl/mjga/controller/UserRolePermissionController.java14 symbols
src/test/java/com/zl/mjga/integration/mvc/UserRolePermissionMvcTest.java13 symbols
src/test/java/com/zl/mjga/integration/persistence/UserRolePermissionDALTest.java12 symbols
src/main/java/com/zl/mjga/dto/PageRequestDto.java11 symbols
src/test/java/com/zl/mjga/integration/persistence/JooqTutorialsTest.java9 symbols
src/main/java/com/zl/mjga/config/security/Jwt.java9 symbols
src/test/java/com/zl/mjga/unit/JwtUnitTest.java8 symbols
src/main/java/com/zl/mjga/repository/UserRepository.java8 symbols
src/main/java/com/zl/mjga/repository/RoleRepository.java7 symbols
src/test/java/com/zl/mjga/unit/SignUnitTest.java6 symbols

For agents

$ claude mcp add mjga-scaffold \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page