Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

시도된 프롬프트와 결과물은 다음 저장소에서 확인가능하며 코프링기반 ReactiveStream기반에서 다양한 액터모델을 활용하는 프로젝트 생성을 시도할수 있습니다생성이 시도되었습니다.

생성지침

Code Block
themeEmacs
# 프로젝트 생성지침

AgenticCoding/Projects/SSE-PUSH-SYSTEM 폴더에 코틀린기반 스프링부트 프로젝트 생성하려고합니다.
다음 지침을 준수해 작성해주세요

## 핵심기능 설명
- SSE(Server-Sent Events) 기능을 활용해 푸시 서비스를 만들고 싶습니다.
- 서버는 토픽에서 실시간 이벤트를 발행할수 있습니다.
- 접속하지 못한 사용자를 위해 다음 접속시 과거 발생된 토픽을 최근 100개까지, 토픽별로 저장하고 싶습니다.
- Push는 Post방식으로, SSE수신은 Get방식으로 처리합니다.
- 토픽에 관련된 상태처리는 액터모델이 사용자 ID별로 처리합니다.

## 유닛테스트 및 부가지침 
- 완성된 코드에 Swagger도 작성해서 코멘트를 작성해주세요
- 코드 완성후 다음 유닛테스트를 작성및 시도합니다.
- 사용자1번이 토픽 A를 구독하고, 사용자 2번이 토픽 B를 구독한후... 토픽A에게 메시지를 발생하면 사용자 1번만 수신받습니다.
- 사용자3번이 서버메시지 발생후 늦게 접속하면... 사용자3번은 과거 발생 토픽을 최대 100개이내에서 받을수 있습니다.

## 테스트 클라이언트
- 유닛테스트가 성공하면 그 기반으로 추가로 테스트 웹클라이언트도 작성해주세요
- resources/static/index.html 에서 SSE를 테스트할 수 있는 클라이언트 기능도 추가하고 싶습니다.
- 클라이언트는 왼쪽/오른쪽 두가지뷰가 있으며 왼쪽화면은 SSE를 수신받는 클라이언트 , 오른쪽뷰는 SEE를 발생하는 클라이언트입니다.

## 참고코드 사전 지식

다음과같은 디렉토리에 참고할만한 샘플코드들이 있습니다.

```
current working directory:
├── CommonModel/
│   └── src/
├── Docs/
│   ├── eng/
│   └── kr/
├── KotlinBootReactiveLabs/
│   └── src/
│       ├── main/
│       └── test/
└── README.MD
```

### 참고대상
- 참고대상 디렉토리는 참고코드 위치 하위 디렉토리에 있는 파일을 참고
- 스프링 부트기반 코틀린으로 리액티브 스트림기반의 동시성처리및 다양한 액터모델이 구현되었습니다.
- 코드학습대상은 *.kt와 .md파일을 참고할것
- 유닛테스트가 필요하게될시 test 파일에 사용되는 방식을 참고할것
- spring boot에 필요한 디펜던시는 이 샘플코드의 버전과 동일하게 맞출것 - 그레이들사용

...