Log in

goodpods headphones icon

To access all our features

Open the Goodpods app
Close icon
Running in Production - An Internal Employee Management App Focused on Schools

An Internal Employee Management App Focused on Schools

08/17/20 • 60 min

Running in Production

In this episode of Running in Production, Chris Goodwin talks about building a platform with Django to manage 15k+ students and 2.5k+ staff members across 29 locations. It’s all hosted on a few on-premises Windows servers and has been up and running since 2017.

Chris covers evolving a solution from Excel sheets, working with a large monolithic Django code base, being a Microsoft shop and the importance of tests and logging.

Topics Include

  • 3:53 – There’s 2 developers and a manager who is also a database guru
  • 6:58 – Motivation for using Django and Python
  • 9:52 – It’s a monolithic app using Django templates with a touch of Vue + API endpoints
  • 15:51 – Since it’s an internal app, here’s an explanation of what it does
  • 22:52 – Celery isn’t being used but it’s on their list to start using it
  • 26:23 – It’s a Microsoft shop using MS SQL as a database and Apache for a web server
  • 33:19 – There’s a few beefy on-prem Windows servers and software is configured by hand
  • 41:43 – Walking us through developing a feature in development to deploying it to prod
  • 52:55 – Getting alerted in Slack if things go astray with the app
  • 55:57 – Best tips? Test and log everything and try to keep up with the updates
  • 59:02 – You can find Chris on GitHub, Twitter, Twitch (dev stream) and Instagram

Links

📄 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.
plus icon
bookmark

In this episode of Running in Production, Chris Goodwin talks about building a platform with Django to manage 15k+ students and 2.5k+ staff members across 29 locations. It’s all hosted on a few on-premises Windows servers and has been up and running since 2017.

Chris covers evolving a solution from Excel sheets, working with a large monolithic Django code base, being a Microsoft shop and the importance of tests and logging.

Topics Include

  • 3:53 – There’s 2 developers and a manager who is also a database guru
  • 6:58 – Motivation for using Django and Python
  • 9:52 – It’s a monolithic app using Django templates with a touch of Vue + API endpoints
  • 15:51 – Since it’s an internal app, here’s an explanation of what it does
  • 22:52 – Celery isn’t being used but it’s on their list to start using it
  • 26:23 – It’s a Microsoft shop using MS SQL as a database and Apache for a web server
  • 33:19 – There’s a few beefy on-prem Windows servers and software is configured by hand
  • 41:43 – Walking us through developing a feature in development to deploying it to prod
  • 52:55 – Getting alerted in Slack if things go astray with the app
  • 55:57 – Best tips? Test and log everything and try to keep up with the updates
  • 59:02 – You can find Chris on GitHub, Twitter, Twitch (dev stream) and Instagram

Links

📄 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.

Previous Episode

undefined - DataWellness Helps Organizations Stay Safe and Compliant

DataWellness Helps Organizations Stay Safe and Compliant

In this episode of Running in Production, Dave Merwin goes over building a service that helps protect those that protect us. It’s a service written in Django and it’s hosted on a single DigitalOcean server. It’s been up and running since 2016.

Dave covers using Django apps, the benefits of keeping everything hosted on 1 server and getting your app up and in front of customers as soon as possible.

Topics Include

  • 3:01 – Initially building an app for 1 B2B client and designing features based on that
  • 5:58 – Motivation for using Django and Python for this project
  • 9:26 – Building a monolith with 14 Django apps but moving towards microservices
  • 14:47 – Mostly server rendered Django templates but there are pieces done with Vue
  • 20:50 – PostgreSQL is being used as a DB and a side topic about how nice TailwindCSS is
  • 25:08 – Not using Docker and learning from the Django community when getting stuck
  • 28:50 – Everything runs on a single DigitalOcean server using Ubuntu 18.04 LTS
  • 32:30 – Using Gunicorn, nginx, Let’s Encrypt and Cloudflare
  • 39:38 – Not waiting out for the best tools and being able to evolve your tech stack
  • 41:58 – Deployment process from start to finish
  • 46:14 – DigitalOcean’s alerting tools are enabled along with Uptime Robot
  • 51:23 – Using DigitalOcean’s server snapshots for complete backups
  • 56:05 – Best tips? Try to get your app in front of your customers as soon as possible
  • 58:40 – Dave is on Twitter @davemerwin and check out their site https://purebluedesign.com/

Links

📄 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.

Next Episode

undefined - Skillwell Is a Video Platform That Helps You Unlock Physical Skills

Skillwell Is a Video Platform That Helps You Unlock Physical Skills

In this episode of Running in Production, John Debs talks about building a video platform with Django that helps you get stronger and be more flexible. It’s hosted on a single $5 / month DigitalOcean server and has been up and running since fall 2019.

John really drives home the value in shipping something simple on the first pass and iterating on it if there ends up being demand for it.

Topics Include

  • 2:36 – It started part time but now it’s full time
  • 4:28 – Motivation for using Python and Django mainly came down to confidence
  • 8:05 – It’s pretty close to a monolith with a few Django apps
  • 11:42 – Reasons for using a custom video player (looping, mirroring, etc.)
  • 14:18 – Videos are uploaded directly to S3 with pre-signed URLs and no transcoding (yet)
  • 19:51 – Using the Django RQ library for doing asynchronous work
  • 21:36 – Having fun using React to write the custom video player
  • 26:35 – Creating a first pass chat feature so students can ask questions
  • 28:41 – Using Vagrant in development, with Ansible on a single $5 / mo DigitalOcean server
  • 37:27 – For a web server they’re using gunicorn, nginx and Let’s Encrypt for SSL
  • 41:27 – Using Stripe to handle payments has been a nice dev experience so far
  • 49:16 – Using Mailgun for transactional emails and Mailchimp for email campaigns
  • 53:59 – Mixing in jQuery as needed has been a pleasure to use, along with Webpack
  • 55:54 – The deployment process from development to production
  • 1:03:40 – S3 is trusted for video backups and database backups are done on every deploy
  • 1:07:35 – Best tips? Keep learning but pick things you’re familiar with
  • 1:10:02 – Check out their platform at https://goskillwell.com/ and they are on Instagram too

Links

📄 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.

Episode Comments

Generate a badge

Get a badge for your website that links back to this episode

Select type & size
Open dropdown icon
share badge image

<a href="https://goodpods.com/podcasts/running-in-production-124382/an-internal-employee-management-app-focused-on-schools-6250708"> <img src="https://storage.googleapis.com/goodpods-images-bucket/badges/generic-badge-1.svg" alt="listen to an internal employee management app focused on schools on goodpods" style="width: 225px" /> </a>

Copy