8
7 Comments

Need advice for my first web app – choosing a tech stack based on what I already know

Hi everyone,

I'm hoping I can get some advice to build my first web application. I know HTML, CSS and a bit of JavaScript.

What I want to build is a website that scrapes multiple Shopify stores and displays the best price for an item (the Shopify stores would be selling the same product).

This is what I want to start with, but I would like to add in other eCommerce websites as well such as WooCommerce.

Based on what I already know and what I want to build, I'd love to hear what languages I should learn and what they would be used for to build this. Thank you so much for your help!

on April 3, 2020
  1. 4

    If you're trying to get something up and running quickly I would second the recommendation of going with something like React for the frontend and maybe Firebase for the backend. I've also been playing around with Strapi for the backend, they give you authentication and a CMS in the back that you can connect to your React frontend. It's very easy to get up and running quickly.

  2. 4

    Hey! Your web application will probably be made of an API that returns the results of the scraping, and a frontend that displays them.

    For the API, I would go with:

    • A nodejs backend with serverless framework (https://serverless.com/)— it's easy to learn, easy to maintain, and completely free to host on AWS up to a very generous threshold. It has also a very good momentum in the community and you will find plenty of tutorials and templates.
    • A simple library for scraping, like scrape-it (https://github.com/IonicaBizau/scrape-it). It should be enough for your use case.
    • DynamoDB for storage — it is, flexible, well integrated with the serverless stack, and has a very good free tier.

    For the frontend, if you have experience with React of Angular, start with one of those. Otherwise, you don't need them at the beginning. Just start with some solid framework & UI kit on the CSS side. You don't need to reinvent the wheel there. Good choices are tailwind (https://tailwindcss.com/) or bulma (https://bulma.io/). For both of them you will find ways to kickstart the development with pre-made components (e.g. https://www.creative-tim.com/learning-lab/tailwind-starter-kit), and you will not compromise the chance of evolving the project into something like React in the future.

    Good luck!

    1. 1

      Thank you I'll look into the things you mentioned!

  3. 3

    Hi There,
    I'm pretty sure you can make a no-code MVP that could give you the initial steps you need. I feel the hardest thing you will face is not the code but the marketing/monetization.
    I'd check out a few tools to make this an MVP:

    Scrape together something that's good enough. Start marketing it and see that you know how to scale it before building a scalable solution.

    I'm a veteran CTO and I'll still start projects like that to save a couple of days of headaches creating a platform. I try to put out the fire that's most urgent and not build things before they're used.

    Hope this helps,
    Jonathan

  4. 2

    I was/am in your place recently when I was just getting into front-end dev. Few things I would like to tell you are:

    1. You are new to development. Before you start a fairly complex personal project, you should start making some side projects from the web. Search for tutorials on youtube or other places and make projects like CRUD apps. These will teach you a lot and you will feel more comfortable to start your own personal project when you would have made 2-3 fairly complex projects following some tutorials.

    2. I personally feel that the best tech stack for someone who is getting into web dev and wants to develop their own applications is: React.JS for front-end and Node.js for the backend. Firebase is awesome too for many tasks. You will learn about it only when you follow some tutorials from the web.

    3. Netlify, Heroku, Free tier of AWS are your friends. Avoid spending money on your new experiments. Almost all of your needs as a starting developer can be handled with free tiers of all services you will ever need.

    4. If you have no idea: start with making a Real-time chat application with React and Socket.io.
      Search youtube and you will have plenty of examples. I personally followed the video from Javascript Mastery.

    You can look at some projects I did a while ago when I was getting into web-dev at my old personal portfolio site: http://toughyear.github.io/portfolio. I haven't updated it in a while.
    If you have any questions feel free to dm me at twitter twitter.com/RajeevSinghN or email me or follow me here at IH for my future posts @toughyear.

    1. 1

      This is great advice! Love the idea of starting out with CRUD apps.

  5. 1

    This comment was deleted 6 years ago

    1. 1

      This comment was deleted 6 years ago

  6. 1

    This comment was deleted 6 years ago

    1. 2

      Thank you! I took a brief look at your nodejs user auth tutorial but it's probably a bit too advanced for me at this point. Will save it for later and come back to it.

      1. 1

        This comment was deleted 6 years ago