DEV Community

Jack Henza
Jack Henza

Posted on

Learning Back-End Basics

For phase 3 of Flatiron School's Software Engineering Program, the final project is a handmade ORM operable by a CLI built with Python and SQLite. Bringing these tools together creates an excellent opportunity to practice object oriented programming, interfacing between multiple languages, and manipulating data at a low level. This was a valuable exercise, as it allowed us to use python to control the full life cycle of a SQL database, from creating tables through adding and updating data to deleting data and dropping tables.
Even more fun, it allowed us to determine our own model for handling many-to-many relationships and join tables. For our project, we elected to use one class to control a primary table and two join tables between it and two other primary tables. This allowed us to use the class as a single source of truth for all the relationships between the three tables, though it created some challenges to overcome around controlling the contents of the join tables and creating instances of the class based on all three associated tables. Overall I think it allowed us to create a more intuitive, pythonic method of controlling the data.
I would recommend this excercise to anyone studying Python, SQL, and/or Object Oriented Programming in general. In the process of building our project, we learned a lot about how all the concepts interact, and were prompted to research and learn new techniques related to all of them.

Top comments (0)