LeetTweets is an iOS twitter client to read your tweets.
Time spent: 3 hours spent in total (Part 1)
Time spent: 8 hours spent in total (Part 2)
The following required functionality is completed:
- User can compose a tweet. (4pts)
- User can favorite a tweet. (4pts)
- User can retweet a tweet. (2pts)
The following bonus features are implemented:
- When composing a tweet, user sees a countdown for the number of characters remaining for the tweet (out of 140) (2pts)
- User can view their profile in a profile tab. (3pts)
- User sees embedded images in tweet if available. (3pts)
Extra features I added:
- Alert controllers for better user experience
- Programmatically styled various UI components
- Add user handle, timestamp Label to tweetCell to make it look more "complete".
- Tinkered with ContainerView, so that I could add a "Sticky" UIButton on top of a TableViewController. (big hurdle)
- SideMenu for better user navigation (had a hard time configuring this)
To-do/Work-in-progress:
- When a user clicks on a retweet button, add an alert controller asking for confirmation
- Add Favorite/Retweet numbers
- Add Followers/Following data
- Style Profile page
- Style Side Menu/Clean up UI
Here's a walkthrough of implemented user stories in Part 2:
The following required functionality is completed:
- User sees app icon in home screen and styled launch screen. (1pt)
- User can log in. (1pt)
- User can log out. (1pt)
- User stays logged in across restarts. (1pt)
- User can view tweets with the user profile picture, username, and tweet text. (6pts)
The following bonus features are implemented:
- User can pull to refresh. (1pt)
- User can load past tweets infinitely. (2pts)
Here's a walkthrough of implemented user stories:
Copyright 2019 Matthew Rodriguez
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.



