Home

Awesome

TweetleDumb

Mock (dumb) Twitter client

Thought Process

Even though this is a mock client I wanted to approach it with the mindset that the mock components (network/auth) could be swapped out for their 'real' counterparts and the app would essentially 'just work'™. The core components and view models have included tests.

What's not included

There is no persistence layer included however if I was to include one I would approach it in a similar fashion to the other services. A protocol would sit over whatever implementation was chosen (core data/realm etc). For this application I might also pass the persistence layer to the API component. This would allow auto-storing of incoming data then, should the app be offline or simply fail, the stored data would be provided so the application would have a better chance of not being empty.

Architecture

The application takes advantage of a variety of techniques including:

Service Layer

The application includes a few simple service objects which the view models use to supply the functionality.