bourgeoisor / xivtodo

Dashboards, tailored checklists and tools for Final Fantasy XIV.
https://xivtodo.com
GNU General Public License v3.0
121 stars 18 forks source link

Alternatives for the Discord oauth sign-in #70

Open coavins opened 4 months ago

coavins commented 4 months ago

Hi,

I don't have a Discord account, and I can't find a way to use the application without signing in via Discord. As a result, I'm not able to access the application at all.

Is it possible to implement an offline mode that uses the browser's local storage? This would be ideal for my use case.

Thanks!

bourgeoisor commented 4 months ago

Hi @coavins! I can give a bit of background info. A Discord alternative is not a categorical "no" but I can't see this happening any time soon in a state where I'm the sole developer and have a full time jobs & other things to take care of.

XIV ToDo was actually originally a local storage only app (upon its initial release), but in the following months there was an extremely high demand for a way to save & sync progress between multiple devices. That meant a back-end with an API and a few other things I didn't have.

Since I had / have very limited time to work on this project (I have a full time job after all), there were two compromises that I made to myself to meet the high demand for the "sync feature":

1) I did not want to have users trust me with any credentials data, so a "username / password" didn't seem like a good idea. I went with oauth instead. I had many choices (all the usual ones: Google, Facebook, Twitter, etc.) but ended up settling with Discord because there was a precedent in the XIV community (FFXIV Collect, Universalis, etc.)

2) And this is the one that matters to you: I knew that if I had to support both an API back-end (with its own storage) as well as local storage, it would slow down any new features tremendously (I'd basically have to code each feature twice, plus maintenance / bugs in multiple places).

I hope this answers some questions you may have.

coavins commented 4 months ago

Thank you for the background, I really appreciate it! It makes sense that the new backend would work better for more people, it's just a shame we couldn't have it both ways. I prefer to handle syncing my data myself, so a fully offline version would have been perfect for me.

I will take a look and see if I can just run the whole application myself without any login.