this post was submitted on 22 Nov 2023
25 points (90.3% liked)

Fediverse

28285 readers
857 users here now

A community to talk about the Fediverse and all it's related services using ActivityPub (Mastodon, Lemmy, KBin, etc).

If you wanted to get help with moderating your own community then head over to !moderators@lemmy.world!

Rules

Learn more at these websites: Join The Fediverse Wiki, Fediverse.info, Wikipedia Page, The Federation Info (Stats), FediDB (Stats), Sub Rehab (Reddit Migration), Search Lemmy

founded 1 year ago
MODERATORS
 

I’m learning web development. I’m on databases at the moment, postgresql in particular. I thought it might be fun to try to help with a fediverse project or two, but I’m only knowledgeable about node.js, and npm, do any fediverse projects use that? I also may be diving too deep too early with this. Appreciate any feedback you guys have!

top 7 comments
sorted by: hot top controversial new old
[–] ptz@dubvee.org 11 points 11 months ago (3 children)

I was looking for a NodeJS Activity Pub library, and the only promising one I found looks to be only partially complete. That said, I think most Fediverse platforms use implementations in other languages: Rust (Lemmy) , PHP (Kbin), Ruby (Mastadon), etc).

Several frontends use NodeJS, though. Perhaps you can contribute there or even contribute to Actvitypub-Express to bring that to feature completion?

[–] Creatortray@lemmy.world 5 points 11 months ago

This is awesome info. Thanks! I’ll have to look into it. Would be an interesting side project to work on as i learn.

[–] grant@toast.ooo 3 points 11 months ago

Pixelfed also uses PHP/Laravel in the backend

[–] ShittyKopper@lemmy.blahaj.zone 2 points 11 months ago

activitypub isn't something you can abstract into a library in a clean way in my experience. the best attempt here seems to be go-fed. most projects i know of implement it in their own way, specialized to the kind of platform they're planning to build.

[–] ShittyKopper@lemmy.blahaj.zone 4 points 11 months ago* (last edited 11 months ago) (1 children)

misskey and it's forks (firefish, iceshrimp, sharkey, and the approx. million others) use a node/ts backend with a vue/ts frontend. peertube also uses node to the best of my knowledge.

that said:

  • misskey itself is developed almost entirely in japanese so you probably won't be able to help out too much.
  • firefish in my experience is doing a LOT of questionable design decisions (hello scylladb migration!) so i'm not sure if it's in a good shape right now
  • iceshrimp is forked off from firefish and seems to be aiming to fix things up as opposed to introduce new features (their matrix chat has been really interesting to lurk in especially when it comes to database performance talk)
  • on the other hand, sharkey follows the latest versions of misskey and has been adding a fair amount of useful features on top of it (post imports that actually work without sending notifications to everyone, message editing which misskey itself found too hard to do, etc.)
[–] Creatortray@lemmy.world 1 points 11 months ago

I’ll have to look into those, although my knowledge right now is pretty limited. Might have to wait until i finish my course. I don’t even know anything about react, or similar systems yet, and I’m just learning PostgreSQL. Thanks for the help!