Hi folks, I’ve been working on a general NodeJS library for ActivityPub. It’s not ready for production but there is a basic example which just about works. I haven’t tested it federating with any real servers or other services yet, nor integrated it into any significantly sized project.
If anybody is willing to lend a hand, or just raise some issues about things like unclear documentation, I’d appreciate it.
Nice project @birdsofpraise !
I haven’t had time to post about this here, but I’m working on a project called SemApps, and we are also implementing an ActivityPub library in NodeJS. It’s based on microservices, using the Moleculer library. I don’t know if we will have the opportunity to work together but I guess it’s important to keep an eye on each others’ projects
The ActivityPub package is here: https://github.com/assemblee-virtuelle/semapps/tree/master/src/middleware/packages/activitypub
Also redaktor /me is working on a generic ActivityPub server …
It will take a while cause we want to support the complete C2S API with the S.
It is written in TypeScript and NestJS and Dojo help us.
I hope all of us NodeJS people will have the opportunity to work together in the future …
I’m also working in this area. activitypub-express is a modular, customizable implementation as ExpressJS middleware functions.
It will be complete S2S and C2S APIs, but with no front-end. It is intended as a reusable library to simplify creating fediverse apps or adding the standard to an existing project. I’m including a MongoDB denormalized storage model, but planning on making the model easily interchangeable. I’ve based it on code from gup.pe, my simple social groups fedi app that is in production now.
FWIW I have another project going. I’m using TypeScript on the back end to manage the type complexity, and wrote a library of all the AP/AS types along with resolvers to handle all the different types of identifiers it supports. I’m also building a UI that uses the C2S interface on the server. Storage is CouchDB, message queueing uses Redis.
The front-end is written in Vue/Nuxt, and follows a Diaspora/Facebook post-oriented paradigm.