Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Documentation #2

Open
lepiko opened this issue Dec 5, 2021 · 1 comment
Open

Documentation #2

lepiko opened this issue Dec 5, 2021 · 1 comment

Comments

@lepiko
Copy link

lepiko commented Dec 5, 2021

"Twilio : could it be optional ? not clear."

"The message protocol is not well-documented, but you can find a full list of incoming and outgoing message types in ./noodle/src/api/roomState/types/socketProtocol." : better not say it's not well documented but later improve with a picture like a diagram ;)

Postgress : replaçable by sqlite in the future ?

and S3 by local files in the future ?

@a-type
Copy link
Contributor

a-type commented Dec 9, 2021

Yeah since this isn't actually public source yet, a lot of the docs are very casual 😄

But I can start answering some questions -

  • Twilio: could absolutely be replaced by a different WebRTC provider! For groups of 4 or more, it's best to use a service provider which has SFU media servers like Twilio, 100ms, Agora, or self-hosted LiveKit. For small groups you might get by with peer-to-peer WebRTC. I'm actually working on some tech which can help make the media service provider more flexible, but it's not ready for public open-source quite yet (just started this week). Once it's mature enough I hope it can be ported to Tilde.
  • For message protocol, due to the move-fast way we developed the app, there are quite a large number of messages for different events. Documenting them will take some time but I hope I can carve that out before we go public with the source or shortly after.
  • We use Prisma as our database layer, but we utilize some Postgres-specific features in limited ways. Things like Json column types, views, sub-schemas, triggers, and functions would need to be ported correctly, and these are not managed by Prisma's migration system.
  • S3 could maybe be eliminated, but the benefits are pretty important in terms of how the app can scale. With local files you'll run out of disk space unexpectedly unless your hosting infrastructure can scale your mounted volumes up for you. But it could be done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants