A constant challenge we face at IST Research is ensuring we build all of our applications in a way that makes them easy to scale. During my practice of deep work this week and thinking about that challenge, I decided that every application I build needs the following three things:
- API (Application Programming Interface)
All three of these are very important when building and scaling fully distributed applications.
Logging provides insight into what's going on with your application at all times. At a minimum you want to log all major events and the time they occur.
Statistics tell you how well your application is performing as well as other metrics. In the context of a data gathering application an important metric is the number of objects processed. Soon Traptor will report on how many tweets match each rule it's collecting on, and make that information available via API.
An API is your application's connection to the outside world. An API can be used to send data back and forth between two applications, as well as control your app. If you're app is tracking stats, your API could provide those statistics upon request.
An Application Skeleton for Flask and AngularJS
To make the creation of new projects easier and faster, I've created an application skeleton for typical Flask and AngularJS web app. You can use it to quickly bootstrap your Flask and Angular web app projects and development environments.
The project contains two things:
- A sample Flask application configured to serve dynamic pages as well as provide an example API.
- A sample AngularJS application based off angular-seed used to interact with the API created in #1.
Get all the details of everything that's included and clone it from GitHub.