Skip to content

Migrate from Firebase to self hosted backend #213

Open
@devmount

Description

@devmount

Is your feature request related to a problem? Please describe.
Firebase is great, performs well and is limited in the free tier (which is totally fine of course). But to make SongDrive completely FOSS I more and more like the idea of providing a realtime backend, which is self hostable, more flexible and not limited to request count per time.

SongDrive is currently build on top of Firestore, a document/collection based realtime database from Firebase/Google. It uses CRUD calls to FB endpoints (creating, reading, updating and deleting documents) and listeners for changes in each collection. And it uses the Firebase authentication to hold user records and their permissions (4 different roles).

Main questions are:

  • Does SongDrive really need to be realtime everywhere? It's neat, but is it necessary?
  • Which features really require realtime? Like Setlist Sync, song key changes, etc.
  • How much effort is the creation of a self-hosted backend? Which solutions are a good fit?
  • How much effort is the migration from Firestore to the new backend?

Describe the solution you'd like
Just recently, Laravel Reverb got released, which could be a solution.

Describe alternatives you've considered
Supabase could be an alternative, but it's pretty much the same in green (literally) and using Postgres instead of doc-based approach.

Additional context
Before extending the current data structure as of #145, #163, #201 and #202, this should be decided first.
Tagging @EinEnton for reference.

Metadata

Metadata

Assignees

Labels

discussionFurther conversation required to figure out the action stepsfeatureBrand new functionalityoptimizationIteration on existing features or infrastructurepriorityThis should be worked on first

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions