In the fourth phase of the Flatiron course, the focus shifted to backend web development, marking a crucial step toward becoming a full-stack engineer. This phase was undoubtedly one of the most important, delving deep into creating APIs, deployment, and integrating frontend and backend components for comprehensive projects. With three phases behind me, I felt well-prepared to tackle this challenging segment.
We kicked off this phase by diving into Flask and SQLAlchemy with greater depth than before, laying a solid foundation for understanding backend technologies. The curriculum then progressed to APIs, emphasizing retrieval and construction, followed by the integration of backend and frontend knowledge in a full-stack project. Despite the intensity of this three-week phase, my comfort level with the course's pace allowed me to navigate the material without excessive stress.
This final project, a collaborative effort with a partner, marked the culmination of our learning journey. Despite the rush to develop a complete application in just one week, my partner and I, both seasoned in the course, adeptly handled challenges along the way. Personally, I took on the task of validation, an area where I felt a bit rusty. Ensuring that backend validation seamlessly aligns with frontend validation proved to be a significant challenge. However, utilizing available resources and my determination, I successfully tackled this hurdle.
One of the most significant challenges I encountered revolved around validating formats, especially for inputs like dates and phone numbers. Proper formatting is crucial, and I dedicated a substantial amount of time to master this aspect. I delved into understanding Flask's formatting conventions, such as using regular expressions like r'^\d{3}-\d{3}-\d{4}$' to validate phone numbers in the XXX-XXX-XXXX format. Though challenging, mastering backend validations was a valuable learning experience that will undoubtedly benefit me in the upcoming final project.
In summary, Phase 4 was a content-packed journey that deepened my understanding of backend web applications. Despite its intensity, my progress in the course allowed me to keep pace and absorb valuable knowledge. As I transition to Phase 5, I am thrilled to have reached the stage where I consider myself a full-stack developer. The next phase will be a chance for me to prove my skills with a substantial solo project, and I am excited to embrace this challenge.