Expanding beyond a basic Rails CRUD app












0















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 and Distilleries 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.












share|improve this question





























    0















    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 and Distilleries 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.












    share|improve this question



























      0












      0








      0








      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 and Distilleries 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.












      share|improve this question
















      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 and Distilleries 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






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Feb 7 at 19:28









      Doug Deden

      868213




      868213










      asked Feb 7 at 17:16









      Simon CooperSimon Cooper

      1013




      1013






















          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
          });


          }
          });














          draft saved

          draft discarded


















          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
















          draft saved

          draft discarded




















































          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.




          draft saved


          draft discarded














          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





















































          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







          Popular posts from this blog

          How to reconfigure Docker Trusted Registry 2.x.x to use CEPH FS mount instead of NFS and other traditional...

          is 'sed' thread safe

          How to make a Squid Proxy server?