MixedCRM Is a Sales and CRM Tool for Real Estate Property Developers

January 18, 2021 54:42 52.51 MB Downloads: 0

In this episode of Running in Production, Nidal Alhariri goes over building a sales and CRM tool with Flask and Python. It’s hosted on a few cloud providers such as AWS and Linode. It was created in mid-2019.

Nidal talks about using MongoDB, splitting tenants out with their own individual servers, mixing in Vue where needed, using Ansible and he also drops great advice around moving forward and shipping code without chasing perfection.

Topics Include

  • 3:35 – Motivation for using Flask and Python
  • 5:38 – Vue, MongoDB, Celery and other libraries / tools being used
  • 8:28 – Dealing with a schemaless database
  • 10:04 – It’s a monolithic app that uses Flask blueprints and dealing with permissions
  • 14:58 – Each tenant / customer of the app gets their own virtual private server
  • 17:24 – Vue is mixed in where needed, the app is not a dedicated API only back-end
  • 22:29 – Parcel is being used to bundle assets and SASS is being used too
  • 24:26 – Docker isn’t used yet but nginx + Let’s Encrypt and Ansible is being used
  • 27:23 – Multiple hosting providers are used (AWS, Linode) with varied server specs
  • 30:03 – uwsgi is being used mainly due to certain app features using websockets
  • 32:39 – Ubuntu LTS is happily being used along with configuring the servers with Ansible
  • 36:05 – The deploy process from development to production
  • 41:16 – Environment variables for secrets and rate limiting with nginx
  • 45:18 – Handling database backups for MongoDB
  • 47:28 – Getting notified of system health issues with alarms and alerts
  • 51:00 – Best tips? Keep moving forward because failure is always better than regret
  • 53:50 – Nidal is on Twitter, GitHub and also has an agency at https://www.level09.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.