Skip to content

SchwarzIT/loven-park-ios

Repository files navigation

Love'n'park iOS

License Platform Swift 5.0 Xcode Version CocoaPods

A CSR initiative to help protect one of the hidden gems in Sofia - Loven Park. Hearted by Schwarz IT

Table of Contents

Features

  • Easily explore and navigate through Loven park
  • Find out interesting places in the park and their history
  • Create reports for irregularities in the park directly to Sofia Manucipality

Note: if there is no GUI for the project, then you can skip this section.

Installation

If the project uses CocoaPods:

  1. Install CocoaPods if you don't already have it:
    sudo gem install cocoapods
  2. Go to your project directory:
    cd [Your Project Directory]
  3. Run:
    pod install
  4. Open the .xcworkspace file that is generated.

Requirements

In order to be able to compile the project, you will need

  • XCode 14+
  • Swift 5.8+
  • CocoaPods
  • Running Apple developer program
  • GCP project to obtain a key for Google Maps and enable Google Sign-in

Contributing

If you want to contribute to the project and help for the protection of other parks or relevant locations, feel free to fork the repository and create a new application. ß

Usage

In order to properly configure the forked application, you will need to adjust several variables.

  1. In Endpoints.swift, update the base URL based on your environment on lines 12 and 14:
11    #if STAGE_TEST
12        static let baseUrl = "YOUR_TEST_ENV_BASE_URL"
13    #else
14        static let baseUrl = "YOUR_PROD_ENV_BASE_URL"
15    #endif
  1. Put your Google Maps API key in the AppDelegate.swift file on line 17
17 GMSServices.provideAPIKey("YOUR_GMS_SERVICES_API_KEY")
  1. In LoginViewModel.swift, update the cliendID and clientSecret you got from your GCP project in order to enable Google Sign-in
76  let signInConfig = GIDConfiguration(clientID: "YOUR_GOOGLE_SINGIN_CLIENTID",
77  serverClientID: "YOUR_GOOGLE_SINGIN_CLIENTSECRET")
  1. In MapConstants.swift, update the values for pinning the map to the bounds of the park/relevant location.
14  static let parkSWLat: CLLocationDegrees = 42.656357
...
16  static let parkSWLong: CLLocationDegrees = 23.324131
...
18  static let parkNELat: CLLocationDegrees = 42.6755
19  static let parkNELong: CLLocationDegrees = 23.3441

Optional: In the same file there is an array called "missingPaths". We used it to draw the missing paths in Loven park and improve the map. Feel free to adjust it for your relevant location if you think your map needs improvement.

  1. It is adviseable to change the Terms&Conditions and Privacy policy texts in accordance of your needs. This can be done by changing the texts in TermsAndConditionsView.swift and PrivacyPolicyView.swift files respectively.

License

See LICENSE.md

Codeowner

Schwarz IT Bulgaria EOOD

About

No description, website, or topics provided.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published