A functional clone of the app formerly known as Twitter. The interface is built entirely with SwiftUI, uses Firebase for authentication and storing user data, and follows MVVM archtitecture.
- Firebase is used to authenticate user sessions.
- Users may register for an account, and log in using email and password.
- Conditionally formatted buttons guide the user through the onboarding process.
Feed, Side Menu, Compose Tweet
- Once authenticated, the app presents a tabbed interface, with the Home tab presenting a feed of tweets.
- A side menu is revealed when profile photo is tapped, providing user with navigation paths, and the ability to log out.
- Users may compose a new tweet, adding text and/or an image.
Profile, Liked Tweets, Edit Profile
- User profile fetches details for the associated user, along with authored and liked tweets.
- If user is viewing own profile, they may tap Edit Profile to update their information, banner image, or profile photo.
- User may tap on profile photo to upload to profile photo, outside of the Edit Profile view.
Future updates:
- Additional sign-in methods
- Add images to tweets
- Implement Follower/Following logic
- Retweets and DMs
Initial inspiration: https://www.youtube.com/watch?v=3pIXMwvJLZs&t=8182s