Aster is a work in progress federated social networking software.
Aster is not ready for production. If you use it in production, good luck!
pnpm i
config/example.yaml
to config/production.yaml
pnpm migrate
, pnpm build
, and then pnpm start
You can use something like pm2 or make a systemd service to keep it running in the background.
If you'd like to contribute, for now, it's easier to contact me directly. See https://blueb.pages.gay/#contact or this GitHub profile to contact me.
Consistent output of common service methods like create, update, delete, etc. get and getMany are already pretty consistent, but maybe check them all.
The relationship service is a nightmare. I've split it in half, ApRelationshipService and RelationshipService. Needs improvement, along with implementation of accepting follows, getting follow requests, and more.
UserService.follow and UserService.block should probably be moved to the RelationshipService.
Ensure there are no possible conditions where a duplicate relationship can occur. Maybe theres a complicated postgres way to make sure a pair is unique- or maybe add a column for combining the two (like id-id) and add a unique constraint on that.
Consistent route file names and routes is less important, but would be nice for consistency.
ApLockService: Allow adding locks on certain ap ids to avoid multiple jobs accidentally running at the same time for the same thing. Not super likely but possible and annoying when it does happen.