Eddiebot: Move data from Firebase(Firestore) to an open source alternative that can be run in a container

Created on 26 Sep 2020  路  8Comments  路  Source: EddieJaoudeCommunity/EddieBot

enhancement

Most helpful comment

I think we should stick to something simple for now, like Mongoose with Mongo. Supabase can be an enhancement later on, as they are still in super early days.

I think defining smaller tasks is a great idea 馃憤 - we can start moving things over:

  • EddieBot (high)
  • gh-action-community (high)
  • EddieBotMap (low)

Note: I would like to restructure the data also, I think we can be a bit smarter now we have a better idea of data we will capture

All 8 comments

It's great having you contribute to this project

Feel free to raise an Issue! Welcome to the community :nerd_face:

If you would like to continue contributing to open source and would like to do it with an awesome inclusive community, you should join our Discord chat and our GitHub Organisation - we help and encourage each other to contribute to open source little and often 馃 . Any questions let us know.

Hah, I was gonna raise this one @eddiejaoude. Well done 馃憦馃徎 great minds think alike

re: Issue #262

I found "Firebase Local Simulator" to be an absolute disaster as per #156 because it

  1. Required me to install OpenJDK in the image which is a 200MB+ download for Alpine Linux, whereas Alpine is probably ~40MB, so those in geographies with terrible internet will be kind of waiting around just for the Firebase simulator.
  2. There is an alpine OpenJDK image but I've found this (from commercial experience) to break quite often e.g. requires more maintenance of the Docker box for just a community project (additional "technical concerns"

@EddieJaoudeCommunity/coreteam what do you think about some form of DAL/ORM solution that lets you use SQLite/Postgres/MongoDB locally and also supports Firebase Firestore? e.g. anything that can store "documents" similarly to Firestore but not affect functionality?

@stemount yep firebase has a high entry level to get working locally and even then it is not great. A DAL/ORM would help, but I think none will work with firebase because it is so unique. So I still think we should move away to an open source DB where we can use an ORM for abstraction and models.

@stemount and @eddiejaoude have we made advancements on this issue? I think @eddiejaoude mentioned supabase.io so I was thinking we could open a PR that would use that and refactor a bit of the code.

@EddieJaoudeCommunity/coreteam what do you think about some form of DAL/ORM solution that lets you use SQLite/Postgres/MongoDB locally and also supports Firebase Firestore? e.g. anything that can store "documents" similarly to Firestore but not affect functionality?

I have used Mongoose and I think it's similar to an ORM (correct me if I'm wrong @stemount 馃槃), but I'd suggest adding a DAL to EddieBot instead. The goal would be to remove references to the db object directly. The reason is that the command handler modules shouldn't change when the database changes, since the database should be a detail.

What do you both think? Do we define a set of tasks for this issue and start decomposing it to small PRs?

I think we should stick to something simple for now, like Mongoose with Mongo. Supabase can be an enhancement later on, as they are still in super early days.

I think defining smaller tasks is a great idea 馃憤 - we can start moving things over:

  • EddieBot (high)
  • gh-action-community (high)
  • EddieBotMap (low)

Note: I would like to restructure the data also, I think we can be a bit smarter now we have a better idea of data we will capture

Stale issue message

We still need this StaleBot 馃

Was this page helpful?
0 / 5 - 0 ratings