The application has really come a long way. In this chapter, we learned about Tkinter validation, created a validation mixin class, and used it to create validated versions of the Entry, Combobox, and Spinbox widgets. We validated different kinds of data on keystrokes and focus events, and created fields that dynamically update their constraints based on the value of related fields.
In the next chapter, we're going to prepare our code base for expansion and learn how to organize a large application for easier maintenance. More specifically, we'll learn about the MVC pattern and how to structure our code in multiple files for simpler maintenance. We'll also learn more about RST and and version control software.