/SkateItRateIt

Capstone project for Udacity's iOS Developer Nanodegree program.

Primary LanguageSwift

Skate It/ Rate It

The App for DIY Skatepark Enthusiasts

Udacity iOS Developer Nanodegree Capstone project

Background

Skateboarding is not a crime! In fact, it is an artistic and creative way to express yourself and challenge your abilities. Skate parks built by professionals are in short supply , highly regulated, and often close at dark. Skateboarders tend to carry a bad (often misleading) reputation. Skate culture has become more collaborative and supportive regarding unused spaces where local businesses allow private citizens to build a Do It Yourself skate spot. Skaters are free to come and go, create additional features, and skate free of regulations and time limits. SkateIt/RateIt allows users to display where these DIY spots are located so others may enjoy them, too.

User Experience

Map Scene

When SkateIt/RateIt loads, the user will see a map that, as more users plot destinations, will be populated with pins. The user's current location will be identified by the blue circle. There is a button to "Get Gear" that leads the user to California Skateboard Supply, an e-bay store that sells all things skate. User can navigate back to the map with the "Back" button. If the user is currently at a "Spot," he/she can drop a pin via the "Drop In" button. Should the user know where the spot is, he/she can also perform a long press drop pin action. Tapping a pin will show the user the current average star rating for the location and an info button that will take the user to the RateIt scene.

RateIt Scene

The user can rate the spot with stars as well as add a generic review from a selection that spans from negative, to neutral, to positive. The RateIt view has the option to return to the map by pressing "Done," or uploading a picture via the "Grab Pic" button which will segue to the Photo Editor. The RateIt scene also has a collection view of persisted photos associated with each location. As more users upload photos, the collection will grow. There is currently no option to remove photos but this option will be available in a later update.

Photo Editor

This scene allows the user to choose from the camera option to take a photo, choose an image from the photo album, share that image to social media or through e-mail and text, and save the image to the persisted collection view. The user can navigate back to the previous screen and then back to the map if preferred, depending on the order in which the user decides to use the app.

How To:

Download

You may clone this repo to your local repo or download it to your desktop via zipfile. Open the project folder.

Run

Prior to running the app, the user needs to run cocoapods 'pod install' on the command line to install all the dependencies needed. After opening the project folder, click on the xcodeproj and choose run ▶️.

NOTE:

Please note that if you are running this app on the simulator, the camera option is not functional. If you are running it on your iphone, the camera option will be available. I hope you enjoy this app and please skate responsibly!

Image Citation

The AppIcon image is of the Foundation Spot in Asheville, NC. Photography credit goes to Eclipse Carbon (Aug. 2016)

The Launch Screen image is an original photo taken by me of our map with the Santa Cruz Screaming Hand mini sticker (sticker art created by Jim Phillips).

The ebay.com store belongs to Jeremy Lyndon (husband).

Requirements

Xcode 9 and above

Swift 4 and above

Licensing/Copyrights

This app includes Reachability for connectivity alerts. Information regarding this can be found here: https://github.com/ashleymills/Reachability.swift