Backend Jungle: So, What's the Stack, Jack?

So, now that we've defined our app's backend in broad strokes, what's our stack going to be? Here we go...

  • Python 3; pre Python 3 is OK, but this isn't the stone age anymore
  • Flask framework; it's pretty standard for REST endpoints, and easy to learn
  • SQL DB, in this case MySQL; yeah, NoSQL is sexy, but SQL is what you'll see mostly in business environments, get used to it
  • Various Python 3 packages as needed to facilitate things
  • IDE to facilitate writing and testing our code; Eclipse is my personal choice (yeah, I'm old)
  • We'll be using Python's virtualenv to set up virtual environments; again, we're professionals, and if you're not already, now's a good time to learn how to be one, and virtualized environments is a professional best practice
  • Postman, a free REST testing tool, so we can exercise our endpoints as we develop them; yes, it is possible to test beyond ye olde print type statements for backend code
  • Yeah, I'm on a Windows box, so that's what you will be looking at with my examples, but I assure you, I have debugged and helped install this exact same stack on my co-workers' Macs before remotely without even a shell account on their box and just talking them through it on Zoom; it was a snap

In the next step, we'll have a brief digression why the frontend/backend dichotomy still exists in web/app development, and why in fact it's extremely useful.

Previously: The app , and the architecture.