from Hacker News

Ask HN: What's the best and quickest way to build a basic web app for a novice?

by Regardsyjc on 12/8/18, 5:51 PM with 5 comments

I've been programming in Python and I would love to finally share something I made so others could easily use it.

It's a short Python script that takes in csv files and spits out a more optimized csv file.

What would be the best way to create a website that accepts csv files, runs my Python script, and then spits out the optimized file?

My friend recommended AWS Lambda.

I'm also wondering what front-end framework I should learn to build more complex things in the future. I'm looking for something that would be easy to learn and quick to deploy. I'm a huge fan of Fast.Ai's teaching method of chucking people in the deep end and learning by building.

My friend recommended Vue. Another HNer recommended plain javascript if possible. Another kind HNer recommended two courses on Angular and React.

Does anyone have recommendations or advice on courses/resources to get something up and running as quick as possible for noobs?

  • by djaychela on 12/9/18, 12:47 PM

    Python beginner here - I would suggest looking at Flask or Django and getting that running on a local webserver before being concerned with deploying it to something like AWS. There are plenty of tutorials on getting Flask, etc working, and I think it's important to have your head round what you're doing locally before you need to worry about the challenges that deploying what you've made will bring you. I've been using Pyramid because I like Mike Kennedy's approach [1], and have built a couple of things that are useful so far.

    [1] https://training.talkpython.fm

  • by celticninja on 12/8/18, 7:09 PM

    You could write a basic HTML 5 page with an upload facility. In the backend you call your python script, sounds like was lambda might work for you as it is relatively straightforward.

    You could choose a framework like ruby on rails or some js framework but they seem like overkill for what you want.