
this course introduces building a strava-like iOS app using MapKit, Realm, and UIKit, with a user-centered map, slide-to-stop runs, and a run history showing duration, pace, and distance.
Create a tab bar controller class to manage home and history tabs, configure tab bar items with system icons, and initialize view controllers with distinct colors, all programmatically.
Create a reusable gradient view with a custom layer and cg color conversion, filling the screen. Use it as the home view background for the map and run button.
Build the current run view controller with a gradient background, assemble time, base label, distance, and pace UI elements, and integrate a custom slider and stack views with programmatic constraints.
Implement saving runs to Realm, including distance and locations, when stopping a run, while building a shimmered slider UI and a previous run detail view with a map.
In this course we will build a mini Strava clone from scratch. This app will allow you to track user's location using core location along with displaying their location inside a map. You will be building custom controls from scratch while learning about various reusable components. You will learn to build components in code.
Complete app is written programmatically so we will not be using any storyboard or nib or xib files to create our views. You will learn about programmatic autolayout constraints.
You will learn about CoreLocation, location tracking while user is running and you will learn to keep track of user's location on the Map using MapKit. You will learn to build custom annotations and add custom annotations into map view to show user's start and end locations. You will learn about mapkit and its delegate functions.
We will use realm database to store previous run data so you will learn how to integrate realm into your project using Cocoapods. You will learn to model objects for your realm database so you data can be represented in table format with one to may relationships.
We will also build a component to add shimmer effect to a label which will have a custom slider control to end the current run.