Implementing an End-To-End Project
In the previous chapters, we delved into a variety of topics, including testing, test-driven development (TDD), design patterns, and design principles. These concepts are invaluable as they pave the way toward a more resilient and maintainable codebase. Now, I’d like to embark on a journey of constructing an application from the ground up, applying the knowledge we’ve acquired to tackle an end-to-end scenario.
The aim is to illustrate how we can dissect requirements into actionable tasks, and subsequently test and implement them. We’ll also explore how to stub network requests, thereby eliminating dependencies on remote systems during development, and how to confidently refactor code without fear of breaking existing functionality.
We’ll venture into building a functional weather application from scratch, interfacing with a genuine weather API server to fetch and display a list of weather data. Along the way, we&...