9
13 Comments

Which front end stack should I use for a simple web service

Hello,
I'm going to create a service for testing candidates for data science and data engineering positions.
The service will have 2 parts:

  1. A site with questions with predefined options to answer.
  2. A personal account page for an HR to see the results of all applicants.

I have experience in Python and Scala as a data scientist and data engineer, but I haven't created web pages before and don't know which tool to use.

Which tools do you recommend to use (languages, frameworks, maybe off-the-shelf tool if they exist)?

[Edit]
To summarize all the comments, I think Django + Bootstrap or Tailwindui will be the best choice in this case.

on August 17, 2020
  1. 2

    Hey Alexander,

    You mentioned off-the-shelf tools, have you considered something like Vervoe? It's got a lot of features and may be overkill for what you need but I've heard good things from colleagues when hunting for new candidates.

    Or possibly even a simple Typeform setup could work. It's easy enough to set up all the questions and answers, plus HR could log in and check results - or you could easily set up a connection to export each candidate's data to Google Sheets / Airtable or similar.

    If you decided to do it yourself, I'd go for a simple Bootstrap setup on the front end as others have mentioned. Easy to set up and style, and there's plenty of resources available if you get stuck.

    1. 2

      @mlife15 currently I'm using just Google form to test this idea. But if the first impression will be positive, I'm going to add coding projects, so Typeform won't be enough.
      To summarize all the comments, I think Django + Bootstrap or Tailwindui will be the best choice.

  2. 2

    Hey Alexander!

    You may not need a framework at all. These days building layouts using HTML/CSS is so much easier than it used to be. Search Google for Flexbox, that can help you create layouts that would have been tedious before with ease.

    That said, if you don’t have much time to learn then Bootstrap or Bulma could be a good call.

    Another alternative if you only need something really simple would be frameworks that style all the elements with decent default styles and allow you to just write CSS without any classes such as Water.css

    I wouldn’t recommend using something like React for a very simple front end project, particularly if you’re not familiar with JavaScript it will just be completely overwhelming and over engineered.

    1. 1

      Thanks @Levous for such a thorough answer!

  3. 2

    I would probably use ReactJS + react-create-app + Ant Design for frontend. +1 for Django as backend. If you'd choose to build everything in Django, I'd probably use Bootstrap components for the frontend.

  4. 2

    Django (python based), super powerful.

    1. 1

      Thanks for the answer. As far as I know, Django is a back end framework. So, which tools are better to use for HTML layout? Bootstrap?

      1. 2

        https://tailwindui.com/ seems to be the go to for indiehackers.

        I have used bootstrap for 5+ years so I would use that.

        While learning bootstrap you can use https://versoly.com/ (has a code editor and allows you to build good looking websites easily) a tool i wish existed when I was learning to code.

  5. 1

    Depending on the forms' complexity, you might want to look at tripetto (new, but nice) or survey.js for the forms.

  6. 1

    This is a kind of an out-of-the box answer, but if you want to avoid the front-end CSS/JavaScript jungle, check out Anvil. It has drag-n-drop UI components and coding is all in Python.

    Disclaimer: I have yet to create a full app with it yet myself, but the concept looks promising for Python-only devs.

  7. 1

    Well as you said simple web service, go for a JAM stack and you'll be fine

  8. 1

    Since you know Python, Flask is really powerful for the backend and you can just use basic HTML/CSS + Bootstrap, Vanilla JS and Jinja for templating. No need to move into framework right now.

    Don't run after the fancy tech, start building with what you know and what's really simple to catch up with.

  9. 0

    It depends on what you are comfortable with, and why you are building it. If you want to leverage it as a learning opportunity to hone your frontend skills, how about some React + Hooks and serverless lambdas as an API to store content (connected to firebase or faunadb)?

    If you are building it to ship something fast, Typeform can be your friend.