In teams of 5, we were challenged to create an Android app that is easy to maintain, modify, and extend. To achieve this goal, our team applied the MVP architecture, SOLID principles, and software design-patterns. Each module was carefully designed and implemented to minimize dependencies and coupling between classes, and to increase the overall legibility, cohesion, and extensibility. The end result was a modular app in which we could easily replace any working part, ranging from something as significant as the GUI, or the data model, to something as small but crucial as the logic that drives the A.I in the mini-games within the app.
- Android Acitivty Lifecycle
- MVP Architecture
- SOLID Principles
- Design Patterns
- Advanced OOP Techniques in Java
- Git VCS