200 OK

The past few weeks have been fairly successful both at work and in school.

At work my team successfully demoed our Capstone project. Utilizing Camunda, Olympus, JavaScript and a series of internal APIs we were able to successfully automate portions of a time consuming manual process frontline associates have been working through for decades. Whether or not the tools in the long run will work on the scale the company desires is still yet to be seen.

On other fronts, school has been going quite well. In Django I have learned to automatically send users emails. This was a little more challenging than expected due to Google removing a setting allowing for less secure apps. Eventually I found an excellent tutorial on application specific passwords and then you can visit a Google page to unlock captcha. Credit to suhailvs for https://suhailvs.github.io/blog02.html#mail-setup-on-django-using-gmail

While Django makes a lot of difficult tasks simple it sure could improve the database migrations. Without fail, after creating a new model with a foreign key, we’ll be forced to drop the whole database and start from scratch because migrations will not function properly even when all records have been manually deleted. But it’s all a part of the learning process. Without the toil the personal reward would be that much diminished.

Life is good. Programming and learning are rewarding. Here is to another great few weeks.

Django: Learning the Basics

Despite what you may tend to think, capstone projects are not always the presentation of developed skills honed over the course of time. In fact, some capstone projects may require tools and frameworks which are wholly unfamiliar to the student developer.

Django is a web development framework which is intended to make full stack development a much more streamlined process. In order to accomplish this, Django utilizes an ORM (Object Relational Mapper) which transforms your Python code via the use of Django Models into structures for various relational databases such as MySQL and PostgreSQL. Each class within a model maps to a table and the attributes of the class correspond to fields within the table. With this new layer of abstraction, developers are able to manage their backend by creating, reading, updating and deleting data with Pythonic syntax through Django.

Other benefits of Django is the use of urls, templates, forms and views to quickly and *easily map and render web pages to users.

After having completed two Pluralsight courses on Django and creating a handful of practice projects, I can say that it is deceptively easy. Depending on what you want to accomplish it may even be downright easy, but as soon as you go off script you realize this is a complex tool with significant depth.

As with most of life’s endeavors worth completing, practice eventually makes easy. Django is a web development framework worth learning and one I will certainly become more practiced with as CS467 continues.

Until next time space cowboy.

( For those interested in a great beginner Django course I would recommend “Getting Started by Reindert-Jan Ekkerhttps://www.pluralsight.com/courses/django-getting-started )