Git Product home page Git Product logo

codepath-android-project-3's Introduction

CodePath Android Project 3 - Twitter Client

This is a Twitter client app built for the Android CodePath class.

Timespent: 10 hours

Completed user stories:

Part 1:

  • Required: User can sign in to Twitter using OAuth login

  • Required: User can view the tweets from their home timeline

  • Required: User should be displayed the username, name, and body for each tweet

  • Required: User should be displayed the relative timestamp for each tweet "8m", "7h"

  • Required: User can view more tweets as they scroll with infinite pagination

  • Optional: Links in tweets are clickable and will launch the web browser (see autolink)

  • Required: User can compose a new tweet

  • Required: User can click a “Compose” icon in the Action Bar on the top right

  • Required: User can then enter a new tweet and post this to twitter

  • Required: User is taken back to home timeline with new tweet visible in timeline

  • Optional: User can see a counter with total number of characters left for tweet

  • Advanced: User can refresh tweets timeline by pulling down to refresh (i.e pull-to-refresh)

  • Advanced: 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

  • Advanced: User can tap a tweet to display a "detailed" view of that tweet

  • Advanced: User can select "reply" from detail view to respond to a tweet

  • Advanced: Improve the user interface and theme the app to feel "twitter branded"

  • Bonus: User can see embedded image media within the tweet detail view

  • Bonus: Compose activity is replaced with a modal overlay

Part 2:

  • Require: User can switch between Timeline and Mention views using tabs.

  • Require: User can view their home timeline tweets.

  • Require: User can view the recent mentions of their username.

  • Require: User can navigate to view their own profile

  • Require: User can see picture, tagline, # of followers, # of following, and tweets on their profile.

  • Require: User can click on the profile image in any tweet to see another user's profile.

  • Require: User can see picture, tagline, # of followers, # of following, and tweets of clicked user.

  • Require: Profile view should include that user's timeline

  • Optional: User can view following / followers list through the profile

  • Require: User can infinitely paginate any of these timelines (home, mentions, user) by scrolling to the bottom

  • Advanced: Robust error handling, check if internet is available, handle error cases, network failures

  • Advanced: When a network request is sent, user sees an indeterminate progress indicator

  • Advanced: User can "reply" to any tweet on their home timeline

  • Advanced: User can click on a tweet to be taken to a "detail view" of that tweet

  • Advanced: User can take favorite (and unfavorite) or reweet actions on a tweet

  • Advanced: Improve the user interface and theme the app to feel twitter branded

  • Advanced: User can search for tweets matching a particular query and see results

  • Bonus: User can view their direct messages (or send new ones)

Walkthrough of all user stories:

Video Walkthrough

codepath-android-project-3's People

Watchers

James Cloos avatar

codepath-android-project-3's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.