This project contains the full implementations of a basic application for the android platform, demonstrating basic code designing using the Clean Architecture pattern, which offers an easy way to scale apps. A simple project that requests over HTTP a request and receives a JSON list of Github Projects.
I took the liberty to alternate the initial screen and add a second screen where we can see the project details (description, permissions etc)
- Extends the MVVM pattern
- Separation of concerns
- Includes the Business logic over the Model-View-ViewModel pattern, which is Use Cases
- Use Cases show the intent of the software.
- Clean architecture contains 3 layers:
- Presentation (UI)
- Domain (Models, Repository interfaces, business logic)
- Data (Api interface, db, repository implementations)
Using Clean architecture for this app, is a kind of an "overkill", but it shows that the app is easily scalable and I demonstrate those skills.