Twitter Client
Features :
- Twitter client login via OAuth
- Offline storage of last viewed tweets
- Pull to refresh
- Endless scroll loading
Required Features Completed :
- User can sign in using OAuth login flow
- User can view last 25 tweets from their home timeline User should be able to see the user, body and timestamp for tweet User should be displayed the relative timestamp for a tweet "8m", "7h"
- User can load more tweets once they reach the bottom of the list using "infinite scroll" pagination
- User can compose a new tweet User can click a “Compose” icon in the Action Bar on the top right User will have a Compose view opened User can enter a message and hit a button to post to twitter User should be taken back to home timeline with new tweet visible
Optional features completed :
- Links in tweets are clickable and viewable
- User can see a counter with total number of characters left for tweet
- User can refresh tweets timeline by pulling down to refresh
- User can open the twitter app offline and see last loaded tweets Tweets are persisted into sqlite and can be displayed from the local DB
- User can tap a tweet to display a "detailed" view of that tweet
- User can select "reply" from detail view to respond to a tweet
- Improve the user interface and theme the app to feel twitter branded
- From detail view, user can reply either through text field at bottom or by clicking reply icon
- User can retweet from detail view by clicking; if a tweet has been retweeted, icon color changes
- User can mark a tweet as favorite by clicking star icon in detail view, on doing that icon color changes to red. Clicking again will remove favorite staus.
- User can share tweet from detail view by clicking share icon. The content sent is same as actual twitter app does.
- User can add images from gallery or take a new picture from camera while composing a tweet or replying to a tweet.
- From home view, clicking on profile image of any tweet will go to profile page(which is coming soon, not functional now)
- Long press image to remove it from tweet before tweeting
- Error handling in case of network failure, proper error messages for rate limiting error, network connectvity
Screenshots -