9
30 Comments

ASK IH: What back-end stack do I need?

http://colorsandfonts.com

I am contemplating let users submit content to colorsandfonts.com like images and some information about the image.
I have no idea about backend at all, so I was just wondering what stack should I learn, or if there's anything already built that I could apply.

Colorsandfonts.com is built with HTML, SCSS ( Bulma.io ) and Js.

Another thing that I have been contemplating is to move to a host where I can have the site because the traffic is growing and GitHub is kicking me out soon from GitHub pages...

All I need to host is 5 pages, and around 250 images.

Thank you so much for your help. I really appreciate.

submitted this linkon September 19, 2019
  1. 4

    Just about any popular back-end stack could do that. IMO, there are really just a few really important concerns:

    1. Speed of development. Use the absolute highest level language / framework you can. Examples of very productive high-level frameworks: Ruby on Rails, Laravel, Phoenix.
    2. Will you be charging most or at least many users? If so, don't waste any time worrying about the performance or scalability of your stack. Any scaling "problem" would be accompanied by more than enough money to hire experts to speed up or even rewrite your entire stack! Is it going to be all ad-monetized free users? Well then you're going to need an efficient stack like Java, .Net, or Elixir.
    3. Are you going to be outsourcing the development? If so then pick a stack with lower salary requirements and more junior devs flooding the market, e.g. PHP or full-stack JS.
    1. 1

      Hey Alchemist !

      1.- I have never touched back end at all. So the speed is almost null. I guess I should learn the most used ?

      2.- Actually, my goal is to remove those ugly ads and find afiliates, sponsorship ( which I doubt ) or in the best case scenario have a freemium.

      For example, how I see is that agencies submit their work where they have used my palettes and pay a yearly fee . The freemium part is for individuals, they should be able to submit but just 4 shots x month.

      3.- I am not really contemplating to outsource it right now, in fact Is one of the reasons I want to leave Github, so I can protect the code.

      Thank you so much for putting your time on helping me , that is really kind.

      1. 3
        1. Absolutely not. Since the mid 90s, "the most used" back-end has at various times been C++, horribly over-engineered Java, plain PHP, and then slightly less over-engineered Java, and now maybe NodeJS plus hundreds of libraries. At no time was the most used stack the one people could develop the fastest with.
        2. In this case, performance and hosting choices might have a real effect on your margins. I don't think it will be a problem, but it's possible if you're on an ad/affiliate model.
        3. Ok, got it.

        Based on what you've said, I'd strongly suggest an MVC framework.

        Elixir + Phoenix, which I teach, is a great technical fit due to performance and productivity but it's not a good choice for beginners. Ironically, the problem is because there aren't enough people competing with me and creating resources for learning it!

        Ruby on Rails is probably the most productive thing out there for building web apps like yours, and the beginner-friendly resources are abundant. It's what I would have recommended if you said your app had a high % of paid users. Unfortunately, it's not ideal for high traffic apps with thin margins.

        For you, I'd recommend Laravel. It's very similar to and inspired by Rails. It's also a fairly unified community. You'll be able to build your app way faster than if you were using something like Java or Node. It's considerably more performant (and thus has cheaper hosting costs) than anything Ruby or Python based. One final, IMO underrated advantage, is that Laravel is supported by the greatest educational screencast site on the webβ€”Laracasts.

        1. 2

          You have explained very well, and now I understand it. What I have left is now is to see what to do, because, by the time I have learned, it might be too late for the website and it could cause traffic and interest losses if I do not do something new...

          I am going to look thru the Laravel courses, to see how does it feel like.

          I am thankful alchemist, thank you for putting in your time. Will share your site with some friends.

  2. 3

    If you don't want to deal with backend stuff, the easiest (and most pain free) way is to go with Firebase hosting.

    • excellent documentation

    • generous free plan

    • user authentication out of the box

    • and if your site grows - and I hope it does - you can lean on the rest of the Google cloud platform to scale

    link: https://firebase.google.com/products/hosting
    quick guide to getting started: https://www.youtube.com/watch?v=aICeVhu2mAE

    1. 1

      Hey Mike,

      This sounds great. just one question, how do I build the backend with this?
      I am heading to it !

      1. 2

        Hey,

        The idea is that it's "serverless" - there is no backend. (of course, there's still a backend, but that's Google's headache. You don't need to worry about it).

        As with Github pages, you just need a place for your pages and images to live - so the folder that you deployed to Github will now be deployed to Firebase.

        Here's some links to get going:

        If it still doesn't make sense after reading through, check back in.

        1. 2

          Just been thru it ! Everything is clear thank you so much. It looks like a better option then github.

        2. 1

          Oh ! I night think i get the picture, a bit blurred , but just because I an new to back end. I will read through those links you dropped and it surely help. Thank you once again.

  3. 1

    Hey, try this https://zeit.co :)
    One command to deploy your site

      1. 1

        You have to install "now" command via npm --> npm install -g now
        Move into the project's folder and digit "now"
        Follow the instruction to verify your identity and you are ready to deploy your site :)

        Let me know!

        1. 2

          Hey 00taffe. O think i am going to try firebase, more than anything is because I need some backend features.

          Other wise i am going to use zeit for another project.

          Will definitely try how you suggested soon as i get home.

          I keep you posted ! Thanks a lot

        2. 1

          I did as you said,.but later it said I am missing the build script. I did as it says in the docs, but still nothing....

          1. 1

            Hi Michael, what is the stack of your sites? If you let me know, I will help you to use Zeit 😊

  4. 1

    I think you should choose here, between on the one hand learning new things and performance, or on the other hand development speed and just make it work.

    Because in most cases you want fast idea validation and rapid prototyping I would go for development speed. So probably something like Python (Flask, Django) and Heroku.

    1. 1

      Yeah, you got me. To be honest, It looks like I have no time to learn now, so instead I need to keep going forward...

  5. 1

    It seems to be a basic CRUD site. As other as said before any general use framework would do the work. I particularly like and use Ruby on Rails because of the speed of development and mostly because is battle tested and all main libraries are just ready for production.

    1. 1

      Hey !
      Yeah, is almost that, the only thing is that the user can't create or delete. At the moment.
      I guess is is going to be betweeen ruby and laravel...

  6. 1

    This comment was deleted 7 years ago

  7. 1

    This comment was deleted 6 years ago

    1. 1

      Hey Steve!

      I am actually learning how to code by building side project. The little Js is being used is adapted from some code from codepen. Like the search, and change color on hover. So I guess it does not matter the language that I need to learn.

      You mean, is relatively easy to build with Flask what I need ?

      Thanks a lot for your help!

      1. 2

        This comment was deleted 6 years ago

  8. 2

    This comment was deleted 4 years ago

    1. 3

      If you like Heroku, I think you might really like @anuragg's Render.

      1. 2

        I agree! Give render.com a shot. Thanks @alchemist!

        1. 2

          This comment was deleted 4 years ago

          1. 1

            Appreciate it!

  9. 2

    This comment was deleted 4 years ago