Skip to content

Latest commit

 

History

10 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

Geofence area

The goal of this assignment is to create an iOS application that will detect if the device is located inside of a geofence area.

Author: Khoa Nguyen

alt text

a/ Project is using:

  • Pure Swift
  • Framework: UIKit, MapKit, CoreLocation, XCTest
  • Clean architrecture here, use this as high level guideline.
  • Being devided in 3 layers:
    • Domain Layer = Entities + Use Cases + Repositories Interfaces
    • Data Layer = Repositories Implementations
    • Presentation Layer (MVC) = Views + ViewController
  • SOLID principles here

alt text

b/ I have structured the project into 3 main layers:

    - Domain: this contains 2 main things:
        - Entities: represent for Enterprise business roles
        - Usecases: represent for Application roles
    - Presentation: View+Controller by using MVC
    - Data: using UserDefaults for store data model GeoArea.

Beside that, there are Common, Utility folders, ... do what their names say.

Some key frameworks:

- CoreLocation: Obtain the geographic location and orientation of a device.
- XCTest: use for writing unit tests.

c/ Run project by open assignment_geofence.xcodeproj file.

About

The goal of this assignment is to create an iOS application that will detect if the device is located inside of a geofence area.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages