Within Clean Architecture, the Domain layer is the central point of our Android Application architecture. In this lesson, we’re going to begin building our application starting with the core business logic of our app within this layer, this will consist of building the data class to match the Projects that we get back from the Github API.
As this is a model, is it not better to have it as a data class?
Agree, should be data class
Not necessarily :) In the Domain layer we don't need any of the things that the data class gives us (equals / hashcode / toString / copy etc) so at this point it didn't feel necessary to use a data class when we don't need that extra overhead. In the Domain module there is no manipulation of this model or even mapping, so we don't require any of this. However, if you find that you do then feel free to change it but as it is you shouldn't need it to be :)