As my very first project as a graduate physics student at the UW, I’ve built a web application that aids a small team studying low frequency astronomy. The requirements were pretty simple, and we wanted to have a working solution as soon as possible. For this project, I was searching for a simple web framework that is flexible and easy to understand for non-web developers (for physicists who can code, but not familiar with web applications). I was looking for something that does not have (or have minimal amount of) pre-defined convention, configuration, and structure.

It looked like Flask was a good fit for the project. After playing with it for a while, I was able to set up a basic application with most of the common components working. I decided to publish this bare-bone application, so anyone who is interested (and also for myself when I want to create another Flask app) can study the basic structure of a Flask app and use it as a starting point of their own apps. There were a ton of “Hello World” level of demo apps and tutorials, but I don’t really find them useful (using one file for storing configs, all models, api routes, and controllers… who does this in real life…?). I always like a demo app that can be used as a template for a bigger app.

So here it is published –

There are some parts I consider “less than perfect.” I particularly don’t like how the front end is built right now. It should pretty much be rebuilt from scratch for any serious UI developers. It should be enough for anyone starting out a project in Flask though.

Screen Shot 2014-08-10 at 3.34.05 PM