Powering the web with Django : Best Practices and Deployment
Arth Tyagi (~arthtyagi) |
Python started off as a scripting language back in 1989 and has since then grown to become a language that captures one of the largest market shares among languages being used in the marketing industry. A language that can help you with Machine Learning, Deep Learning, Web Development, automation, GUIs, scientific computing, and a dozen other things is indeed a magnificent language and the best part? People tend to pick up on Python quicker than languages like Java for the most part due to its ability to reduce the boilerplate code needed to start learning off something.
This has become one of the driving forces of people learning frameworks like Bottle, Flask, or Django. It powers the world's most traffic-driven applications like Instagram, Google, Spotify, Netflix, Uber, Dropbox, Pinterest, and yeah even Reddit!
Talking about Web Development, I've learned the likes of Ruby on Rails, a bit of Symfony, and well Django. Django has by far been my most trusted web framework. With the proper debugging tools and best practices, you can power enterprise-grade web applications using maintainable Django code and deploy it with ease!
Why would you listen to the talk?
This talk aims at talking about the best practices to be used in any Django Project that will probably make your code better in terms of maintainability and readability. This talks also aims to talk about the timeline of a Django application that you made as in what options you should look at when you deploy the project, how to figure out the cloud provider plans you would need depending upon the usage of your application. I'd talk about the timeline ( present and projected ) of DomeCode ( a Django application made by me over the last 8 weeks starting in my school's summer break. It's available at https://domecode.com/ ).
In all, this talk would give you the high-level overview of a maintainable Django application along with its cloud deployment timeline.
How would this talk be divided?
The talk would be divided into three parts :
An overview of a sample Django project, “Geddit”. Talking about its architecture and its flaws. ( 10 min ) How to fix the flaws and what are some things to keep in mind when designing the project. ( 10 min ) Things to consider while picking a deployment option. Debugging in deployment, monitoring app’s metrics, and more. ( 10 min)
Fluency in Python and OOP Concepts, Basic understanding of Django.
- Founded ArisVeam and DomeCode. ArisVeam was initially building open source ML applications and is now the umbrella organization for my other projects/startups including DomeCode.
DomeCode is an application that helps you learn and practice code with the appropriate tools and a curated list of resources through the philosophy of practice. It’s a single workspace where you can advance your coding journey with compiled resources to learn programming concepts, take notes, plan tasks, practice coding problems, discuss interesting stuff on the Forum, meet other developers and most all have the musical element with all of it without ever leaving the single workspace to navigate to dozen platforms.
Amassed over 15,000 traffic requests from all over the world on DomeCode's Alpha Version in under 24 hours of its release on the 5th of August 2020.
Started coding in Java at the age of 11 ( Wrote my first line of code at 6, wrote my first program at the age of 10 ).
2 years of experience with Machine Learning
Led the youngest team as finalists to IISc. Bangalore's Pravega Hackathon at the age of 16.
Conceptualized Upgree's business Plan and made it to IIT Kanpur's Techkriti's Entrepreneurship Event's as the youngest finalist.
Refer to the projects on my LinkedIn and Github Profile for more on my hands-on experience.