Running in Production
Running in Production
Nick Janetakis - Full stack developer
MixedCRM Is a Sales and CRM Tool for Real Estate Property Developers
54 minutes Posted Jan 18, 2021 at 5:00 am.
– Motivation for using Flask and Python
– Vue, MongoDB, Celery and other libraries / tools being used
– Dealing with a schemaless database
– It’s a monolithic app that uses Flask blueprints and dealing with permissions
– Each tenant / customer of the app gets their own virtual private server
– Vue is mixed in where needed, the app is not a dedicated API only back-end
– Parcel is being used to bundle assets and SASS is being used too
– Docker isn’t used yet but nginx + Let’s Encrypt and Ansible is being used
– Multiple hosting providers are used (AWS, Linode) with varied server specs
– uwsgi is being used mainly due to certain app features using websockets
– Ubuntu LTS is happily being used along with configuring the servers with Ansible
– The deploy process from development to production
– Environment variables for secrets and rate limiting with nginx
– Handling database backups for MongoDB
– Getting notified of system health issues with alarms and alerts
– Best tips? Keep moving forward because failure is always better than regret
– Nidal is on Twitter, GitHub and also has an agency at https://www.level09.com/
0:00
54:42
Download MP3
Show notes
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
53:50 – Nidal is on Twitter, GitHub and also has an agency at https://www.level09.com/
Links
πŸ“„ References
https://mitogen.networkgenomics.com/ansible_detailed.html
βš™οΈ Tech Stack
flask →
python →
vue →
ansible →
aws →
cloudflare →
lets-encrypt →
linode →
mongodb →
nginx →
parcel →
redis →
systemd →
ubuntu →
uptime-robot →
websockets →
πŸ›  Libraries Used
https://github.com/beautify-web/js-beautify
https://github.com/xhtml2pdf/xhtml2pdf
https://github.com/MongoEngine/mongoengine
https://github.com/celery/celery
https://github.com/sh4nks/flask-caching
https://github.com/unbit/uwsgi
https://github.com/zeekay/flask-uwsgi-websocket
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.