As someone who likes the concept of Reddit but dislikes how the site is run, I keep launching short lived Reddit-like side projects. I mostly use Lemmy, but I can’t justify running a SQL server and a VM for projects nobody cares about!
So as a toy project to test out Micro (disclaimer: it’s my day job), I decided to build a fun little Reddit inspired toy app: Tiredd (github repo)
It is only about a thousand lines, and only a single page. The backend is a single Go file, the frontend is a single Angular component, so should be easy enough to hack on.
What it has
Reddit/HN-like ranking of posts
By a combination of score and time. Algorithm taken from here https://medium.com/hacking-and-gonzo/how-reddit-ranking-algorithms-work-ef111e33d0d9.
Anonymous posting and commenting
But only registered users can upvote/downvote to give the community ability to moderate.
A very rudimentary way to moderate by admins
Make users mods by saving their user ids as a comma separated envar. Unlike normal users, they can vote on an item multiple times, and each time their vote counts as a random value between 4-17. I told you it’s very rudimentary ; ).
Adjust to your taste by changing the minimum score on the frontend!
Each post can be categorized under subs, just like Reddit.
What it does not have
Posts are not linkable
Is it a missing feature or a feature? It might actually prevent brigading :)).
Comments are not tree like
Comments are ranked by score just like posts, but there is no reply, quote, or tree structure like on HN or Reddit.
Probably a tons more
Things like password change are missing, there is a chance I will add them!
How to run
As previously stated, the main goal was to run this for free. There is no SQL server dependency, because it is using the DB and User services of Micro, all of which are free.
The go server is a single HTTP server which an be trivially translated to any FaaS provider (as it is stateless) to host the whole thing for free!