Southclaws / storyden

With a fresh new take on traditional bulletin board forum software, Storyden is a modern, secure and extensible platform for building communities.
https://www.storyden.org/
Mozilla Public License 2.0
82 stars 7 forks source link

Structure, design and overall architecture thread #1

Open Southclaws opened 2 years ago

Southclaws commented 2 years ago

(A thread to throw early discussions about the design decisions etc)

General design:

Security:

Roles:

Bots:

Plugins and extensibility:

Deployment:

Frontend:

Southclaws commented 2 years ago

Auth:

Built a small PoC for WebAuthn and Metamask shouldn't be too hard. I'm considering removing the email address field from the account model so we're not forever bound to this ancient medium. I can see a world where people would want to run a forum which is entirely based on web3 auth and has no relationship to emails. Same for WebAuthn or any other social login.

I think doubling down on web3 logins and web3 profile pictures/eth domains is also a solid move to get some early traction.

Currently it's just password based login but eventually these systems will be configurable so you can disable and enable whichever auth method you desire.

Southclaws commented 2 years ago

Also a note regarding frontend type generation: the current codegen literally only generates types and nothing else. There's no swr or fetcher implementation. Orval seems the best bet but it's currently broken so I'm probably just going to write the barebones parts using the SSR API boilerplates from open.mp's frontend.

ADRFranklin commented 2 years ago

I assume you are leaving it up to the Auth providers to contain the unique identifiers, which explains why you removed the email address.

The problem now is how do you contact the user for resetting accounts? I'm not that familiar with web3 auth in particular, but we generally like multiple ways to recover an account, of course stuff like 2fa exists and along with that recovery codes, but some people may not like 2fa and want some other approach, so what are the plans to accommodate such systems?

Also what are the plans in the future for integrating custom authentication systems like some business may want, especially if they already have their own working systems?

Southclaws commented 2 years ago

Yeah I think there's definitely a challenge around modelling these concepts here. I feel like authentication and sending notifications are going to be tied in some way.

web3 accounts basically cannot be "reset" or at least it must be done on a case-by-case basis by the site admin. But if someone loses access to their wallet, that's their fault (that's basically how the web3 world works, there's no room for mistakes and no support teams to help you if you accidentally lose your private key etc)

But at the same time, I think users may welcome a service that doesn't need to contact them. Notifications can be done via native browser notifications or Discord/Slack integrations.

2fa is something that will apply only to Email, Password and OAuth authentication mechanisms. It won't apply to web3 or webauthn (I think)

Southclaws commented 1 year ago

Some more ideas around facilitating platforms that want to do some more out of the box things that you may argue push the boundaries of a "forum" for communities and move closer to a generic CMS... but still, these are fairly easy to build with the current architecture: