https://github.com/anderson-hyl/instagram-clone
a instagram clone based on PowerSync and Supabase. Followed by flutter tutorial at https://www.youtube.com/watch?v=Y3mBsPYVdz8&t=1983s. Totally rewrite with SwiftUI + TCA.
https://github.com/anderson-hyl/instagram-clone
powersync supabase swift-composable-architecture swiftui swiftui-example tca
Last synced: about 1 year ago
JSON representation
a instagram clone based on PowerSync and Supabase. Followed by flutter tutorial at https://www.youtube.com/watch?v=Y3mBsPYVdz8&t=1983s. Totally rewrite with SwiftUI + TCA.
- Host: GitHub
- URL: https://github.com/anderson-hyl/instagram-clone
- Owner: Anderson-Hyl
- Created: 2025-01-10T17:50:36.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-12T09:10:18.000Z (over 1 year ago)
- Last Synced: 2025-04-13T12:12:20.072Z (about 1 year ago)
- Topics: powersync, supabase, swift-composable-architecture, swiftui, swiftui-example, tca
- Language: Swift
- Homepage:
- Size: 24 MB
- Stars: 9
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Build based upon [PowerSync](https://github.com/powersync-ja/powersync-swift.git) and [Supabase](https://github.com/supabase/supabase-swift.git)
| Login | Home | Comments | Reels | UserProfile | PhotoPicker | Chat |
|-|-|-|-|-|-|-|
|  |  |  |  |  |  | 
## Code structure
```mermaid
%%{ init : { "theme" : "default", "flowchart" : { "curve" : "monotoneY" }}}%%
graph LR
AppReducer ---> AppDelegateReducer
AppReducer ---> LaunchReducer
AuthReducer ---> LoginReducer
ChatMessageInputReducer ---> ChatMessageInputTextFieldReducer
ChatMessageInputReducer -- optional --> MessagePreviewReducer
ChatReducer ---> ChatAppBarReducer
ChatReducer ---> ChatMessageInputReducer
ChatReducer ---> MessageListReducer
CommentReducer -- optional --> RepliedCommentsReducer
CommentReducer ---> UserCommentReducer
CommentsReducer ---> CommentTextInputReducer
HomeReducer ---> ChatsReducer
HomeReducer ---> FeedReducer
HomeReducer ---> MediaPickerReducer
HomeReducer ---> ReelsReducer
HomeReducer ---> TimelineReducer
HomeReducer ---> UserProfileReducer
LoginReducer ---> LoginFormReducer
MediaPickerReducer -- optional --> CreatePostReducer
PostEditReducer ---> PostMediaReducer
PostLargeReducer ---> PostFooterReducer
PostLargeReducer ---> PostHeaderReducer
PostLargeReducer ---> PostMediaReducer
PostMediaReducer ---> MediaCarouselReducer
SignUpReducer -- optional --> MediaPickerReducer
SignUpReducer ---> SignUpFormReducer
UserProfilePostsReducer ---> PostsListReducer
UserProfileReducer ---> UserProfileHeaderReducer
UserStatisticsReducer ---> UserProfileListReducer
UserStatisticsReducer ---> UserProfileListReducer
UserStatisticsReducer -- optional --> UserProfileReducer
AppDelegateReducer(AppDelegateReducer: 1)
ChatAppBarReducer(ChatAppBarReducer: 1)
ChatMessageInputReducer(ChatMessageInputReducer: 1)
ChatMessageInputTextFieldReducer(ChatMessageInputTextFieldReducer: 1)
ChatsReducer(ChatsReducer: 1)
CommentTextInputReducer(CommentTextInputReducer: 1)
CreatePostReducer(CreatePostReducer: 1)
FeedReducer(FeedReducer: 1)
LaunchReducer(LaunchReducer: 1)
LoginFormReducer(LoginFormReducer: 1)
LoginReducer(LoginReducer: 1)
MediaCarouselReducer(MediaCarouselReducer: 1)
MediaPickerReducer(MediaPickerReducer: 2)
MessageListReducer(MessageListReducer: 1)
MessagePreviewReducer(MessagePreviewReducer: 1)
PostFooterReducer(PostFooterReducer: 1)
PostHeaderReducer(PostHeaderReducer: 1)
PostMediaReducer(PostMediaReducer: 2)
PostsListReducer(PostsListReducer: 1)
ReelsReducer(ReelsReducer: 1)
RepliedCommentsReducer(RepliedCommentsReducer: 1)
SignUpFormReducer(SignUpFormReducer: 1)
TimelineReducer(TimelineReducer: 1)
UserCommentReducer(UserCommentReducer: 1)
UserProfileHeaderReducer(UserProfileHeaderReducer: 1)
UserProfileListReducer(UserProfileListReducer: 2)
UserProfileReducer(UserProfileReducer: 2)
```