Major components of the project, which are responsible for sending network requests are:
Dispatchable
protocol andDispatcher
class.Dispatcher
conforms toDispatchable
and allows to send actual network request.Endpoint
protocol. Allows to provide enough information forDispatcher
so that it can request the data (URL, HTTP method, HTTP headers etc).Service
protocol. Provides a blueprint for the extendable networking services that are based on dispatchers.
Application supports different styles for both Light and Dark modes.
Light | Dark |
---|---|
![]() |
![]() |
![]() |
![]() |
Major components are documented. Descriptive comments are used whenever it makes sense to provide more clarity. Multi-level logging is used to provide more flexibility during troubleshooting.
Entities are implemented with testability in mind. Some of the components (like Dispatchable
) have
been mocked and tested. Corectness of caching is verified by using unit-tests as well.