You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Sub-issue of #99. Deliver the federated social network scenario as a paired example repository and fedify.dev tutorial, as set in #99 (comment).
Scenario
A multi-user federated microblog. Visitors sign up for accounts on the instance; each user gets their own ActivityPub actor with its own URI, inbox, and followers. Users compose short text posts (notes), follow remote fediverse accounts, like posts, and read a home timeline of posts from the people they follow.
This goes beyond the existing Creating your own federated microblog tutorial, which is deliberately single-user. The focus of this example is the server patterns that show up when multiple actors share one Fedify application: per-actor key management, scoped inbox/outbox dispatchers, and cross-actor database queries for timelines.
Stack
Framework: Next.js (App Router)
Integration package: @fedify/next
Runtime: Node.js
ORM: Drizzle ORM
Database: PostgreSQL
Feature checklist
Signup / login: minimal username-and-password auth sufficient to distinguish actors; not the focus of the tutorial.
Per-user actor (Person): WebFinger, per-user persisted key pair, followers and following collections scoped per actor.
Post composition: short text notes federated to the author's followers as Create(Note). Replies supported via inReplyTo (single level; deep threading is out of scope).
Edit / delete own posts: Update(Note) and Delete(Note) with Tombstone.
Follow / unfollow remote or local actors: sends Follow and Undo(Follow).
Home timeline: posts from the viewer's own account and from the accounts they follow, ordered by published.
Local timeline: public posts authored on this instance.
Likes: users can like any visible post; likes federate as Like and Undo(Like).
Deliverables
Create fedify-dev/next-social-network under the fedify-dev org. Full runnable Next.js app implementing the feature checklist above.
Write docs/tutorial/social-network.md on fedify.dev as a step-by-step walkthrough of building the example from scratch. The tutorial should cover @fedify/next setup in App Router, modelling users and actors in Drizzle, per-actor dispatchers, and timeline queries.
Add the new tutorial to TUTORIAL.items in docs/.vitepress/config.mts (shows up in both top nav and sidebar).
README of fedify-dev/next-social-network links back to the tutorial.
Tutorial cross-links the Node.js section of the Deployment docs (Best practices for production deployments #689) and the @fedify/next integration docs for running the example in production.
Add an entry to CHANGES.md.
Out of scope
Direct messages (DMs). Scope creep for this example.
Sub-issue of #99. Deliver the federated social network scenario as a paired example repository and fedify.dev tutorial, as set in #99 (comment).
Scenario
A multi-user federated microblog. Visitors sign up for accounts on the instance; each user gets their own ActivityPub actor with its own URI, inbox, and followers. Users compose short text posts (notes), follow remote fediverse accounts, like posts, and read a home timeline of posts from the people they follow.
This goes beyond the existing Creating your own federated microblog tutorial, which is deliberately single-user. The focus of this example is the server patterns that show up when multiple actors share one Fedify application: per-actor key management, scoped inbox/outbox dispatchers, and cross-actor database queries for timelines.
Stack
@fedify/nextFeature checklist
Person): WebFinger, per-user persisted key pair, followers and following collections scoped per actor.Create(Note). Replies supported viainReplyTo(single level; deep threading is out of scope).Update(Note)andDelete(Note)withTombstone.FollowandUndo(Follow).Follow(auto-accept),Undo(Follow),Create(Note),Update(Note),Delete(Note),Like,Undo(Like).published.LikeandUndo(Like).Deliverables
fedify-dev/next-social-networkunder thefedify-devorg. Full runnable Next.js app implementing the feature checklist above.@fedify/nextsetup in App Router, modelling users and actors in Drizzle, per-actor dispatchers, and timeline queries.TUTORIAL.itemsin docs/.vitepress/config.mts (shows up in both top nav and sidebar).fedify-dev/next-social-networklinks back to the tutorial.@fedify/nextintegration docs for running the example in production.Out of scope
Announce(boosts). Deferred to Build federated content sharing example and tutorial (Nuxt + Node.js) #693, which centers onAnnouncesemantics.