Versions Compared

Key

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

...

Info

cluade 코드를 실행한후

> "생성지침.md" 수행해줘   

팁 : alt+tab을 눌러 plan mode로 전환한후 수행합니다. 안해줘도 plan mode라 판단되면 수행하는듯하나 명시적 수행모드로

Image Added

  • Default 모델을 사용했습니다. 
    • 최상위 모델로 시도할수도 있겠지만 , 기본모델로 고생을 하고 나중에 좋은것 사용하면 퀄리티 상승되는 효과를 체감할수 있는것같습니다.

플래닝

Code Block
themeEmacs
User approved Claude's plan:
  ⎿  Implementation Plan for PushServiceNet

     1. Add Required NuGet Packages

     - Akka (1.5.x)
     - Akka.Hosting (for DI integration)
     - xUnit, xUnit.runner.visualstudio, Microsoft.NET.Test.Sdk (for unit tests)

     2. Core Domain Models

     Create models for:
     - Topic - Represents a subscription topic
     - TopicMessage - Message published to a topic
     - UserSubscription - User's topic subscriptions
     - SSENotification - SSE message format

     3. Actor System Architecture

     - TopicManagerActor - Manages topic creation and message distribution
     - UserTopicActor - Per-user actor managing subscriptions and message history (max 100)
     - SSEConnectionActor - Manages SSE connections per user

     4. Services Layer

     - AkkaService - Actor system initialization and management
     - TopicService - Business logic for topic operations
     - SSEService - SSE connection management

     5. API Controllers

     - TopicController - POST endpoints for publishing messages
     - SSEController - GET endpoint for SSE connections with topic subscription

     6. Static Web Client

     - wwwroot/index.html - Two-panel interface:
       - Left panel: SSE receiver with topic subscription
       - Right panel: Message publisher to topics

     7. Unit Test Project

     - PushServiceNetTest project with tests for:
       - User 1 subscribes to Topic A, User 2 to Topic B scenarios
       - Message history retrieval (up to 100 messages)
       - Late-joining user receives missed messages

     8. Implementation Order

     1. Update PushServiceNet.csproj with dependencies
     2. Create domain models
     3. Implement actor system (AkkaService, actors)
     4. Create service layer
     5. Add API controllers
     6. Enable static files and create web client
     7. Create test project and implement unit tests

● Update Todos
  ⎿  ☐ Update PushServiceNet.csproj with Akka.NET dependencies
     ☐ Create domain models (Topic, TopicMessage, UserSubscription, SSENotification)
     ☐ Implement AkkaService for actor system management
     ☐ Create TopicManagerActor for topic management
     ☐ Create UserTopicActor for per-user subscriptions and history
     ☐ Implement TopicService business logic
     ☐ Implement SSEService for connection management
     ☐ Create TopicController with POST endpoints
     ☐ Create SSEController with GET endpoint for SSE
     ☐ Enable static files and create wwwroot/index.html client
     ☐ Create PushServiceNetTest project
     ☐ Implement unit tests for subscription scenarios

...