Ilias Paraskevopoulos submission

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)

Clean Architecture basic features

  • 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)

Purpose of this app

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.