Skip to content

nazmulkp/landmarks-ios-swiftui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages