The Database, Config and Logging are at the core of all application development. Everything starts there.
A Database System stores all of the applications data. The storage itself can be anything from a loose collection of files like jpegs, a nosql db like mongodb, or a full fledge relational database like mysql or postgresql. This subsystem sits right below any Model Objects.
A Configuration System allows you to configure your application without changing code. It primarily determines where things are, such as: subdirectories, external web services, database credentials, log files etc. You will have a different configuration file for each type of environment: dev, stage, and prod
A Logging System should be built in from the word go. All backend tasks should be logged. One philosophy is that all events write a single line entry of Success or Failure. Each event can optionally also write multiple Warning or Debug logging messages. When done this way your logs are themselves databases of all system events. You can can easily answer questions like how many transactions processed today, and how many of them failed.
These three subsystems are needed for all application development. Here is a link to a library I have written that provides these functions. Which I reuse it all the time.
Python Application Development – Core Library Classes – https://github.com/dlink/vlib