top of page
Search

Why this will crush your hackathon demo

  • Writer: Mark Kendall
    Mark Kendall
  • 1 hour ago
  • 3 min read

Below is a Claude / Cloud Code intent file you can drop in a folder and run.


Call it:

Put it in:

/springboot-demo/

Then run Claude Code in that folder and say:

Build the system defined in intent-springboot-banking-service.md






# Intent: Spring Boot Banking Service API


## Objective


Create a fully runnable Spring Boot REST API using Java 21 that exposes banking service accounts.


The system should demonstrate clean architecture and enterprise-ready layering suitable for a production microservice.


This service represents a Banking Services Registry where financial services accounts can be stored and retrieved.


Examples:


- Escrow Accounts

- 401k Accounts

- Savings Accounts

- Investment Accounts

- Trust Accounts


The API should allow:


- listing all services

- retrieving a service by id

- creating new services


Data may be stored in memory for now (mock repository).


---


# Technology Constraints


Use:


- Java 21

- Spring Boot 3.x

- Maven

- REST API

- Lombok allowed

- Jackson for serialization

- Spring Actuator for health endpoint


No database required (use in-memory list).


---


# Project Structure


Use clean layered architecture.

com.ltm.banking


controller

service

repository

model

dto

mapper

config

exception

---


# Architecture Rules


Controller Layer

- Handles REST endpoints

- Accepts DTOs

- Returns DTOs

- No business logic


Service Layer

- Contains business logic

- Handles validation

- Calls repository


Repository Layer

- In-memory storage using ConcurrentHashMap


DTO Layer

- API request/response models


Model Layer

- Internal domain models


Mapper

- Converts DTO ↔ Domain objects


Config

- Application configuration


---


# Domain Model


AccountService


Fields:

id (UUID)

serviceName

accountType

provider

balance

currency

createdAt

Example:

Escrow Account

401k Retirement

Corporate Savings

Trust Fund

---


# REST API Endpoints


Base Path

/api/v1/services

### Get All Services


GET

/api/v1/services

Returns list of all banking services.


---


### Get Service by ID


GET

/api/v1/services/{id}

---


### Create Service


POST

/api/v1/services

Request Example

{

“serviceName”: “Escrow Account”,

“accountType”: “ESCROW”,

“provider”: “Fidelity”,

“balance”: 125000.50,

“currency”: “USD”

}

---


# Health Endpoint


Use Spring Boot Actuator.


Endpoint

/actuator/health

---


# Configuration


application.yml

server:

port: 8085


spring:

application:

name: banking-service-api

---


# Example Response

{

“id”: “f3a7a3c0-9a3d-4a44-b91c-77db1f3c3e4d”,

“serviceName”: “401k Retirement”,

“accountType”: “RETIREMENT”,

“provider”: “Vanguard”,

“balance”: 450000.00,

“currency”: “USD”,

“createdAt”: “2026-03-12T10:00:00”

}

---


# Code Requirements


Use Spring annotations:

@RestController

@Service

@Repository

@Configuration

@Component

Use Lombok annotations:

@Data

@Builder

@NoArgsConstructor

@AllArgsConstructor

Use constructor injection.


---


# Additional Requirements


Include:


- GlobalExceptionHandler

- Logging using SLF4J

- Validation using `jakarta.validation`

- UUID identifiers

- ISO timestamps


---


# Startup Behavior


When application starts:


Preload mock data:

401k Retirement

Escrow Account

Corporate Savings

Trust Account

---


# Deliverables


Claude should generate:

pom.xml

SpringBootApplication

controller classes

service classes

repository

dto classes

mapper

configuration

application.yml

exception handler

Project must compile and run with:

mvn spring-boot:run

---


# Success Criteria


After startup the following must work:

---


# Design Principles


Follow LearnTeachMaster principles:


- clear intent

- layered architecture

- separation of concerns

- production-ready structure

- minimal complexity

- observable service





Why this will crush your hackathon demo



Because when you run Claude Code with this file it will:


1️⃣ Generate an entire Spring Boot project

2️⃣ Correctly structured layers

3️⃣ Health endpoint

4️⃣ DTO mapping

5️⃣ Mock data

6️⃣ Ready to run


Then you can say:

Add persistence with Postgres

Add Kafka event publishing

Add OpenAPI documentation

…and Claude will evolve it live during the hackathon.


That’s the Intent Driven Engineering flex you want to show.




If

 
 
 

Recent Posts

See All

Comments

Rated 0 out of 5 stars.
No ratings yet

Add a rating
Post: Blog2_Post

Subscribe Form

Thanks for submitting!

©2020 by LearnTeachMaster DevOps. Proudly created with Wix.com

bottom of page