diff --git a/Images/AppIcon.png b/Images/AppIcon.png new file mode 100644 index 00000000..f90e5c7e Binary files /dev/null and b/Images/AppIcon.png differ diff --git a/Images/image1.png b/Images/image1.png deleted file mode 100644 index 066d4135..00000000 Binary files a/Images/image1.png and /dev/null differ diff --git a/Images/image2.png b/Images/image2.png deleted file mode 100644 index 1333fed3..00000000 Binary files a/Images/image2.png and /dev/null differ diff --git a/Images/image3.png b/Images/image3.png deleted file mode 100644 index 4f5990b5..00000000 Binary files a/Images/image3.png and /dev/null differ diff --git a/Images/image4.png b/Images/image4.png deleted file mode 100644 index 07402670..00000000 Binary files a/Images/image4.png and /dev/null differ diff --git a/Images/image5.png b/Images/image5.png deleted file mode 100644 index d706a0ac..00000000 Binary files a/Images/image5.png and /dev/null differ diff --git a/Images/image6.png b/Images/image6.png deleted file mode 100644 index f5777b8d..00000000 Binary files a/Images/image6.png and /dev/null differ diff --git a/Images/promo.png b/Images/promo.png index 06462198..5c4c7784 100644 Binary files a/Images/promo.png and b/Images/promo.png differ diff --git a/Images/timeline1.png b/Images/timeline1.png new file mode 100644 index 00000000..fbb936de Binary files /dev/null and b/Images/timeline1.png differ diff --git a/Images/timeline2.png b/Images/timeline2.png new file mode 100644 index 00000000..3d025881 Binary files /dev/null and b/Images/timeline2.png differ diff --git a/Images/timeline3.png b/Images/timeline3.png new file mode 100644 index 00000000..4cc7df3d Binary files /dev/null and b/Images/timeline3.png differ diff --git a/README.md b/README.md index 0946832a..d7c35fe5 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,32 @@ IceCubesApp is an open-source application for accessing the decentralized social You can connect to any Mastodon instance, browse your timeline, interact with other users, and post updates and media. +## Features + +### Timeline + + + + + +* A navigation bar title menu lets you easily swap between your home, local, federated, and trending timeline. +* You can also easily access your lists, followed tags, and tag groups. +* Tag groups are custom timelines made of multiple tags, a feature unique to Ice Cubes. +* You can also add a remote local timeline. A helpful feature to browse the public timeline of other instances. +* Ice Cubes rely heavily on the streaming events of Mastodon to do stuff like showing new posts live in the home timeline and editing and deleting your posts. +* The timeline sync is semi-automatic; your position is sent to the Mastodon marker API, and from another device running Ice Cubes, you can resume your home timeline position. +* The home timeline is cached using the third-party library [Bodega](https://github.com/mergesort/Bodega). A lite SQLite wrappers. The current position is saved in user default, so when you switch accounts or launch the app, your cached home timeline and position are restored. Then new posts will be fetched and displayed with an unread counter. + +`Code` -> Status & Timeline package + +### Notifications + +### Explore / Search + +### Direct Messages + +### Multi Accounts + The project is split into different Swift Packages to make managing and maintaining the codebase easier. Each package focuses on a specific application aspect, such as the UI, network communication, or data models. This modular approach allows for easier collaboration and ensures the code is organized and easily understood. It's a great starting point for learning SwiftUI. The app covers many of the basic concepts of SwiftUI, such as building layouts, working with data, and handling user interaction. By exploring the code, you can understand how to use SwiftUI in your daily life. Plus, the open-source nature of IceCubesApp means you can see how real-world applications are built and get a sense of best practices for using SwiftUI. @@ -17,7 +43,7 @@ The architecture is straightforward MVVM for most parts, there is no redux on th Thanks! -![Icon](IceCubesApp/Assets.xcassets/AppIcon.appiconset/144.png?) + ## Building the project