Open rpruim opened 3 years ago
This is great and along the lines of what the team was thinking (if we have time to get there).
Instead of hosting data in Firebase, we can just use the user's Google Drive like draw.io does with theirs.
Google drive could work too. Since this is likely to be addressed fairly late in the process, I'd go for the easiest solution unless @kvlinden has a preference in terms of future maintenance.
Google Drive would be my first choice because we don't need to worry about storage or security since it is handled by Google.
Google basically handles authentication in firebase as well. But since our current schedule formats are csv, xlsx, or json, those might be easier to store in Drive. Presumably people could also access the file outside of the app that way too.
I have no preference - FIrebase seems overkill for this CSV application.
Actually, I'd rather just be able to import my courses into my MS Calendar - that's where I put my public schedule. And we could create a public lab calendar for the lab schedules.
For people who know how to host a CSV file, making a schedule available to others is pretty easy. But many people don't now how to do that. So here's an idea: What if the app could host the schedules?
I'm imagining something along these lines:
Some of this needs some for thought/fine tuning. For example, we could always save the schedules and just provide the sharing link upon request. That might require a user to identify a schedule (give it a name or something). That could be done without a login system if we just required each new schedule to get a unique identifier, but it would make all schedules public (up to security via obscurity). A login system would restrict access to ones own schedules (which might be listed, selected, deleted, etc.)
So there are lots of variations on this theme depending on what other sorts of things get added to the app.
If we end up doing anything else with permanent cloud storage, storing schedules should be relatively easy to add -- the big lift is setting up the storage mechanism (and perhaps user login) in the first place. But I thought I'd drop this here so it doesn't get lost.