SkillAgentSearch skills...

GithubApp

SwiftUI - MVVM - Combine

Install / Use

/learn @KareemAbdelSattar/GithubApp
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

GitHubApp

GitHubApp is a SwiftUI-based GitHub client built on the Model-View-ViewModel (MVVM) architecture, leveraging SwiftUI and Combine for a seamless and robust user experience. The app follows best practices to ensure clean code, testability, and maintainability.

Screenshots

Light Mode | Dark Mode :-: | :-: Light Mode | Dark Mode

Features

  • Fetching and Parsing Data: Utilizes a robust network layer to fetch and parse data from the GitHub API.
  • Listing Data: Displays a list of GitHub items.
  • Searching: Provides a search functionality for better user interaction.
  • Navigation to Details: Allows users to navigate to a detailed view for more information.
  • Dark Mode: Supports both light and dark modes for a personalized user experience.
  • Arabic Localization: Offers localization for Arabic-speaking users.

Architecture and Design Decisions

  • SwiftUI: Utilizes SwiftUI for building the user interface, taking advantage of its declarative syntax.
  • MVVM Architecture: Follows the Model-View-ViewModel architecture pattern for clean separation of concerns.
  • Combine Framework: Integrates Combine to handle asynchronous and event-driven code.
  • Network Layer: Implements a well-designed network layer for efficient API communication.

Areas for Improvement

  • Unit Tests: Enhance the codebase by adding unit tests to ensure the reliability of the application.
  • Coordinator Pattern: Consider implementing the Coordinator pattern for improved navigation if the application complexity grows.
  • Repository Pattern: Introduce the Repository pattern if local data storage becomes a requirement in the future.

Author

Linkedin: Kareem Abd El Sattar

Related Skills

View on GitHub
GitHub Stars5
CategoryDevelopment
Updated2y ago
Forks1

Languages

Swift

Security Score

55/100

Audited on Feb 4, 2024

No findings