Expanding beyond a basic Rails CRUD site.
So I've got a fairly basic CRUD style rails app, which has a list of Gins
, Distilleries
and and blog Posts
.
I'd like to expand it quite significantly in the following ways:
- Add authenticated users To allow users to interacat with
Gins
. e.g. be able to favorite, add to wish list, rate and gamification etc - Add a user dashboard The dashboard would display the above interactions, and also a feed of all users interactions
- Build native mobile apps I hear mobile is the future ;) but to also allow for the below:
- User uploads of gin photos I want to have a monthly activity where users have to find gins based on some hints, and they can then upload the gins that they find.
So, this has really got my head aching, and feels wayyyyyy beyond my capabilities, but hey...
I have some main questions:
What can I use for user authentication, so that a user can login in to the app, and also web clients? Good ole' Devise? Google Firebase, AWS Cognito, Oauth perhaps Okta.
If I use something other than Devise, how and where would I store the user data for likes for example that a user might make in the web client and/or the mobile app.
I'd like to keep 'standard' rails app for my static pages and the blog, (so easy to do in rails, plus SEO advantages) but am thinking of building a seperate VueJS app for the dashboard. I would render Gin and Distilleries in json API, which could also be access via the mobile apps.
Appreciate this is a big quetsion, and will have many opnions, but any thoughts or comments would be appriciated as my brain hurts and my girlfriend doesn't care to be a soundboard.
Ok so I've only just read in to JWT. Seems using the Knock gem, this might be the best way for me to authorise users based on my own user model, espeically as it appears it will also be suitable for mobile app too.