Skip to content

Latest commit

 

History

History
52 lines (35 loc) · 1.99 KB

README.md

File metadata and controls

52 lines (35 loc) · 1.99 KB

Landmarks iOS App with SwiftUI

This repository contains an iOS application built with SwiftUI, demonstrating the use of Clean Architecture principles. The app displays landmarks fetched from a local JSON file, with a clean separation of concerns across different layers.

Screenshot 2024-06-21 at 1 01 15 PM Screenshot 2024-06-21 at 1 01 15 PM

Project Structure

The project is organized as follows:

  • Infrastructure: Contains interfaces, configurations, and utilities.

    • Interfaces: Protocols defining the contract for various services.
    • Configuration: Configuration management for the app.
    • Utilities: Utility classes and functions.
  • Data: Responsible for data sources and repositories.

    • Local: Local data sources.
    • Repositories: Implementation of repositories for data access.
  • Domain: Core business logic of the application.

    • Interfaces: Protocols for repository interactions.
    • UseCases: Use cases implementing the business logic.
    • Entities: Data models.
  • Presentation: The user interface layer, built with SwiftUI.

    • Landmark: Views related to displaying landmarks.
    • App: The main app entry point.
    • Resources: Assets and resources for the app.
    • Preview Content: Content for SwiftUI previews.
  • LandmarksTests: Unit tests for the app.

    • Infrastructure: Tests for the infrastructure layer.
    • Domain: Tests for the domain layer.
    • Presentation: Tests for the presentation layer.

Getting Started

Prerequisites

  • Xcode 12.0 or later
  • Swift 5.3 or later

Setup

  1. Clone the repository:
    git clone https://github.com/nazmulkp/landmarks-ios-swiftui.git
    cd landmarks-ios-swiftui