An Inventory Management System for an E-commerce Platform

Copied URL with current time.
0:00 / 0:00
Galen Rice

In this episode of Running in Production, Galen Rice walks us through building an internal inventory management system with Django and Python. It’s running on a single bare metal server and has been up and running since 2013.

Galen talks about replacing an Excel sheet with a custom app, using 20 Django apps, taking advantage of the Django admin and deploying everything onto a custom server.

Topics Include

  • 5:02 – Motivation for using Django and Python
  • 6:49 – Despite being ~6 years old it uses Python 3.x but it also uses Django 1.8
  • 10:23 – It’s 1 monolithic app split into about 20 Django apps across ~15k lines of code
  • 14:39 – Staff workers are using the Django admin and there’s full text search with PostgreSQL
  • 17:44 – It runs nginx on a bare metal server, also bulk CSV imports are done via cron jobs
  • 22:52 – Walking us through the deploy process from development to production
  • 27:11 – Traffic is served internally over HTTP and nginx serves static files
  • 27:49 – Database backups were saved onto S3 and a backup hasn’t had to be used yet
  • 30:37 – Taking the application down means 50 people stand around doing nothing
  • 31:37 – Best tips? Make the smallest possible changes at a time and plan for having a team
  • 34:15 – Galen is on GitHub if you want to see what he’s up to
📄 References
⚙️ Tech Stack
🛠 Libraries Used

Support the Show

This episode does not have a sponsor and this podcast is a labor of love. If you want to support the show, the best way to do it is to purchase one of my courses or suggest one to a friend.

  • Dive into Docker is a video course that takes you from not knowing what Docker is to being able to confidently use Docker and Docker Compose for your own apps. Long gone are the days of "but it works on my machine!". A bunch of follow along labs are included.
  • Build a SAAS App with Flask is a video course where we build a real world SAAS app that accepts payments, has a custom admin, includes high test coverage and goes over how to implement and apply 50+ common web app features. There's over 20+ hours of video.


Oct 19, 2020

✏️ Edit on GitHub