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

Design "endcap" architecture #120

Open
5 tasks
warriordog opened this issue Sep 29, 2023 · 0 comments
Open
5 tasks

Design "endcap" architecture #120

warriordog opened this issue Sep 29, 2023 · 0 comments
Assignees
Labels
area:meta Affects or applies to the repository, project management, or policies type:research Research or design project, not direct work

Comments

@warriordog
Copy link
Owner

ActivityPub Sharp is intended to expose multiple tiers of APIs. The lowest-level API is the raw parsers and models available in the Types package, and the mid-level API consists of use cases that will be defined in #117. This story is to create the high-level architecture, which is a pair of "endcap" packages which bring together the most important use cases into a unified entry point.

The first endcap package will be for client usage. Part of it, IActivityPubClient, has already been created. These additional features must be designed as well:

  • Per-server client
  • Stateful client
  • Navigational API (smart entities, basically)

The other endcap is for servers. The purpose here is to provide a single entry point to process an incoming request

  • ActivityPub server - processes arbitrary objects
  • HTTP server - processes HTTP requests (through an abstraction)

Everything here is a long-term goal, the last stage of the project really. But we need to work out the vision now since everything else will be building to this.

@warriordog warriordog added area:meta Affects or applies to the repository, project management, or policies type:research Research or design project, not direct work labels Sep 29, 2023
@warriordog warriordog self-assigned this Sep 29, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:meta Affects or applies to the repository, project management, or policies type:research Research or design project, not direct work
Projects
None yet
Development

No branches or pull requests

1 participant