Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Enterprise CRUD Classic (example)

This style reflects a typical enterprise CRUD microservice, including patterns commonly found in legacy systems, optimized for deterministic code generation.

Important

This project is not a production-ready template.

It is a style example used as input for the CodeTools generator.

The purpose of this codebase is to:

  • demonstrate a specific coding style,
  • serve as input for template extraction,
  • allow deterministic reproduction of similar code.

The business model and rules are intentionally artificial and have no real-world meaning.


Relation to CodeTools

This project represents the Style (S) component in the CodeTools generation model.

CodeTools repository: https://github.com/archonity/codetools

In CodeTools:

  • D (Data) – comes from structured input (e.g. CSV)
  • S (Style) – comes from example code like this project

This repository provides the S part, which can be:

  1. converted into templates,
  2. refined,
  3. used to generate new microservices.

The goal is not correctness of business logic,
but consistency and reproducibility of structure and style.


Related

Generated version: https://github.com/archonity/enterprise-crud-classic-generated


Why this exists

In large systems, a significant part of the codebase follows repeatable patterns.

Instead of rewriting similar code:

  • this project provides an example style,
  • which can be converted into templates,
  • and used to generate similar code automatically.

This enables deterministic reproduction of entire microservice structures.


Business model (example)

The domain is fictional and exists only to demonstrate structure:

  • context administration.googoo
  • aggregate root FooBar
  • entity DeeDoo

Note: domain names are intentionally meaningless. Focus on structure, not semantics.


Project goal

  • This is a style template for code generation

  • It serves as input for CodeTools

  • It demonstrates:

    • architecture
    • coding style
    • testing approach
    • database integration

How to use this project

This project should NOT be used as a direct copy-paste template.

Recommended usage

  • use it as input for template extraction (CodeTools)
  • analyze structure and conventions
  • adapt patterns consciously

Not recommended

  • copying business logic
  • treating domain model as meaningful
  • using it as a production-ready starting point

How to run

Requirements

  • Java 25
  • Maven

Build

mvn clean compile

Run

mvn spring-boot:run

Or run: com.example.crm.CrmApplication

Run with H2 (file)

mvn spring-boot:run -Dspring-boot.run.profiles="file-db"

Tests

mvn test

Configuration

src/main/resources/application.properties

Database

Liquibase (XML)

Migrations: src/main/resources/db/changelog

Architecture

The project uses hexagonal architecture.

Technologies and solutions:

  • Java 25,
  • Spring Boot 4,
  • REST API.

Coding style and conventions

This project intentionally enforces a consistent, repeatable style to support template-based code generation.

This style reflects a typical enterprise CRUD microservice, including patterns commonly found in legacy systems.

Architectural Decision Records (ADR)

Not maintained in this repository.

In real projects, ADRs are recommended.

How to develop this project

  • Treat it as a template
  • Copy the structure
  • Do not blindly copy business logic

Project structure

Standard Maven layout:

src/main/java
src/main/resources
src/test/java
src/test/resources

About

No description or website provided.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages