Expanding beyond a basic Rails CRUD app
So I've got a fairly basic CRUD-style rails app, which has a list of Gins
, Distilleries
and blog Posts
.
I'd like to expand it quite significantly in the following ways:
- Add authenticated users To allow users to interact with Gins: e.g. be
able to favourite, add to wishlist, 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 log 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 separate VueJS app for the dashboard. I would render
Gin
andDistilleries
in JSON API, which could also be accessed via the mobile apps.
Appreciate this is a big quetsion and will have many opinions, but any thoughts or comments would be appreciated as my brain hurts and my girlfriend doesn't care to be a soundboard.
authentication ruby-on-rails
add a comment |
So I've got a fairly basic CRUD-style rails app, which has a list of Gins
, Distilleries
and blog Posts
.
I'd like to expand it quite significantly in the following ways:
- Add authenticated users To allow users to interact with Gins: e.g. be
able to favourite, add to wishlist, 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 log 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 separate VueJS app for the dashboard. I would render
Gin
andDistilleries
in JSON API, which could also be accessed via the mobile apps.
Appreciate this is a big quetsion and will have many opinions, but any thoughts or comments would be appreciated as my brain hurts and my girlfriend doesn't care to be a soundboard.
authentication ruby-on-rails
add a comment |
So I've got a fairly basic CRUD-style rails app, which has a list of Gins
, Distilleries
and blog Posts
.
I'd like to expand it quite significantly in the following ways:
- Add authenticated users To allow users to interact with Gins: e.g. be
able to favourite, add to wishlist, 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 log 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 separate VueJS app for the dashboard. I would render
Gin
andDistilleries
in JSON API, which could also be accessed via the mobile apps.
Appreciate this is a big quetsion and will have many opinions, but any thoughts or comments would be appreciated as my brain hurts and my girlfriend doesn't care to be a soundboard.
authentication ruby-on-rails
So I've got a fairly basic CRUD-style rails app, which has a list of Gins
, Distilleries
and blog Posts
.
I'd like to expand it quite significantly in the following ways:
- Add authenticated users To allow users to interact with Gins: e.g. be
able to favourite, add to wishlist, 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 log 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 separate VueJS app for the dashboard. I would render
Gin
andDistilleries
in JSON API, which could also be accessed via the mobile apps.
Appreciate this is a big quetsion and will have many opinions, but any thoughts or comments would be appreciated as my brain hurts and my girlfriend doesn't care to be a soundboard.
authentication ruby-on-rails
authentication ruby-on-rails
edited Feb 7 at 19:28
Doug Deden
868213
868213
asked Feb 7 at 17:16
Simon CooperSimon Cooper
1013
1013
add a comment |
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "3"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1403220%2fexpanding-beyond-a-basic-rails-crud-app%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Super User!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1403220%2fexpanding-beyond-a-basic-rails-crud-app%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown