DevChatter / DevChatter/Smilodon

Begin implementing ActivityPub library

Open
#28 5 comments 1 reaction 0 assignees View on GitHub
enhancement
Dominant language
C#
Stars
49
Forks
5
PR merge metrics
No merged PRs in 30d

Description

**Is your feature request related to a problem? Please describe.**
We should use this issue as a place to start planning the implementation of the ActivityPub library. I just finished reading the spec, it appears that we'll need some interesting data models and maybe some special JSON parsing setup to handle the multiple types of requests/responses specified by ActivityPub. We will also need extension methods to support configuring this with minimal APIs and the WebApplicationBuilder.

**Describe the solution you'd like**
I think the first step to implementing this will be to move everything into a project named `ActivityPub` with a structure similar to the following:

```
ActivityPub
├── Objects
│ ├── Object.cs
│ ├── Context.cs
│ └── Identifier.cs
├── Actors
│ └── Actor.cs
├── Collections
│ ├── Collection.cs
│ ├── OrderedCollection.cs
│ └── CollectionTypes.cs
└── Activities
├── Activity.cs
├── ActivityTypes.cs
└── Types
├── CreateActivity.cs
├── UpdateActivity.cs
├── DeleteActivity.cs
├── FollowActivity.cs
├── AddActivity.cs
├── RemoveActvitiy.cs
├── LikeActivity.cs
├── BlockActivity.cs
├── UndoActivity.cs
├── AcceptActivity.cs
├── RejectActivity.cs
└── AnnounceActivity.cs
```

**Describe alternatives you've considered**
Another option would be to create separate projects for the ActivityPub models and the AspNetCore configuration. Right now, we just need the models, so maybe start out with that project and decide how to evolve in the future.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.