Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Planning / Hackathon #1

Open
3 of 59 tasks
SebastianOpriel opened this issue Nov 19, 2024 · 0 comments
Open
3 of 59 tasks

Planning / Hackathon #1

SebastianOpriel opened this issue Nov 19, 2024 · 0 comments

Comments

@SebastianOpriel
Copy link
Member

SebastianOpriel commented Nov 19, 2024

Hackathon Planning Issue

Breakdown / Planning

  • Repo initial setup cleaned up
  • We have running prod connectors: sovity + Tractus-X
  • Chat App Backend Implementation
    • Initial Setup
    • CI: Docker Images
    • We will use the Notification Push approach from Industry Core KIT
    • Implement OpenAPI with Stubs
    • Implement the persistence-related API endpoints without EDC interaction
    • (optional) Automatic Data Offer setup with the connected EDC for the notification push receiver
    • EDR Negotiation on first contact (basically after pressing "New chat")
      • This includes Contract Negotiation and sets up a Transfer Process
      • We also can fetch the first DP access token here
    • For every message, we reuse the DP access token from our EDR or refresh it if it expired
    • Messages are sent directly to the counterpart Backend via the Data Plane
      • The Notification Receiver asset needs to have a reception API endpoint in the backend linked as the "data source". This endpoints needs to process the payload.
    • We can have a list of chats with a status by querying our active contract agreements
      • Every chat partner gets its own contract
      • (optional) You can probably display a status by checking the transfer process status? Because in the EDR scenario, the transfer process actually stays in RUNNING until deprovisioned manually
  • Chat App Frontend Implementation #4
    • Initial Setup
    • Setup Prettier. Add an npm command npm run format-all
    • Implement OpenAPI Client / Types
    • Implement Fake Backend
    • Implement Participant List
    • Implement Participant Adding without BPN Discovery, maybe
    • Implement Chat View (polling / prototype)
    • Optional: Improve Chat update mechanism
    • Optional: Implement BPN Discovery
    • CI: Docker Images
  • First manual deployment to Eos
  • main-branch CD to Eos

Brainstorming

Requirements for the Chat App

  •  Supports Tractus-X Connectors
  •  Shall be applicable with Catena-X data space Connectors
  •  Preferrably: Start Chats via BPN. Alternative: Allow users to start a new chat for a given Connector Endpoint + Participant ID
  •  Everything shall be handled as runtime objects only (no database)
  • Full code example of the chat app with proper specification
    • Kotlin + Quarkus
    • React + Next.js + Tailwind
    • Gradle, Docker, GitHub Actions

Requirements for the Tutorial

  • Allow self-onboarding of developers, showing how to develop use case apps for EDCs
    • Difference EDC Control Plane vs. EDC Data Plane
    • Create data offer
    • Fetch catalog
    • Use Custom attributes
    • Notification paradigm via parametrization
    • HTTP proxy transfer
    • Policies: Participant restriction
    • Contract Negotiation and it's state machine
    • Data Transfer requests and it's state machine
  • Provide a use-case app that serves to demonstrate EDC and Data Space functionalities.
  • Guided step-by-step tutorial, e.g.
    • Prepare development environemnt
    • Connect to API of EDC
    • Create a data offer
    • Consumer another's data
      • Fetch another's catalog
      • Negotiate a contract
      • Transfer data
    • Specific details
      • Notification paradigm
  • Docker Images and deploy example
@SebastianOpriel SebastianOpriel pinned this issue Nov 19, 2024
@kamilczaja kamilczaja changed the title Requirements & Constraints Goal, Requirements & Constraints Dec 5, 2024
@kamilczaja kamilczaja changed the title Goal, Requirements & Constraints Goals, Requirements & Constraints Dec 5, 2024
@sovity sovity deleted a comment from kamilczaja Dec 5, 2024
@richardtreier richardtreier changed the title Goals, Requirements & Constraints Planning / Hackathon Dec 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant