This Swift-based mobile application adopts the MVVM (Model-View-ViewModel) architecture, focusing on efficiently managing and displaying user messages ๐ฑ. It leverages the MVVM pattern to enhance code scalability and maintainability, allowing for dynamic updates to the UI and separation of the business logic from the user interface.
- LoveveryApp: The main entry point of the application, responsible for the initial setup and configuration ๐.
- Message: Defines the data model for user messages, suitable for decoding and handling backend data ๐.
- NetworkManager: Manages all network communications, ensuring robust and reliable data fetching and posting ๐.
- ContentView: Acts as the root view, managing the navigation and display of other views within the app ๐ผ๏ธ.
- PostMessageView: Allows users to compose and send messages through a user-friendly interface ๐ค.
- UserMessagesView: Displays messages in a list format, facilitating user interactions ๐.
- MessageViewModel: Handles the business logic related to message operations, binding the views with the underlying data ๐.
- Clone the repository: Download the source code from the repository ๐ฅ.
- Build and Run the application: Execute the application on an iOS device or in the simulator ๐ฒ.
- Swift: The primary programming language for building the application ๐ฅ๏ธ.
- SwiftUI: Used for crafting the user interfaces, providing a declarative framework for state-driven UI design ๐จ.
- Xcode: The development environment for managing and building the iOS project โ๏ธ.
- Main View: This view serves as the central hub where all existing messages are displayed, grouped by user. For users with more than three messages, a 'See More' button is available, which takes you directly to the UserMessagesView for expanded viewing. ๐
- View Messages: Access the
UserMessagesView
to see all current messages ๐. - Post Messages: Use the
PostMessageView
to create and dispatch new messages โ๏ธ. - Network Operations: Depend on the
NetworkManager
for executing all network-related tasks, like retrieving and sending messages ๐.