[MUSIC] All right, so that should be a good map to help you understand how this application is working at a very high level. So if you have questions like, okay who's controlling the collection view in the media controller? Or, who's controlling where my collection view gets its data from in the data hobbies views controller? Who's controlling where I get my data from, in the neighbor's view controller? You can review this lesson and understand the object graph. All right, so let's take a look at the goal. So again, we want to demonstrate how to create some UI in an iPhone application. We want to, again, go over how we can create our own custom classes or custom subclasses and even subclass our own subclasses. And implement the web service calls that make our application work with the server in the cloud. So you get a full client server application that you know you can put in your portfolio. So we'll show you how to do all that on the screen and then you will be actually implementing that as a peer review assignment. You'll implement the three REST services which are called CREATE_USER, SAVE_HOBBIES, and FETCH_USERS_FOR_HOBBY. So that should be fairly self explanatory. If me telling you to implement a REST service seems scary, don't worry, I'll show you how to do that in very exact detail. And then we will, of course, when we all the FETCH_USERS_FOR_HOBBY, we'll get a list of users and those users will each have a lat and a long, latitude and longitude property. So we'll look at the latitude and longitude for each user that we get back. And then create one of those little red map pins that you saw, and put all of those users who share my hobby on the map. All right, here's a few notes that I said should be on every deck of slides in this series of lessons. So here's where the server exists on the cloud as you're implementing this project, and you're probably reviewing these videos several times. It will help you to see this on each video. The endpoint is called HobbyRest. So the full URL for the server, the web servers that you're going to get to is the server URL plus the endpoint. So it'll be http://uci.smilefish.com/HBSRest-Dev/api/- HobbyRest. And then you can make your, call the whichever service you want to call, create user, fetch users or save hobbies all from that final URL. All right, the create user call as important note will be used to sign up as well as to sign in, so we don't have complicated authentication or a separate sign up page and a separate sign in page in the application. It's all going to be on one page and it's going to be the same rest service. So I encourage you to make your username somehow unique like I put Justin in the current year That's probably okay at first but as more and more students take this course, you'll probably want to find different ways of making your user name unique. It doesn't have to have your name in it. It can be something like ColdPenguin2017 or something like that, something that's unique that will help you use it easier. If you type in the same username into the me scene the quote unquote sign in sign up page, if you use a new one you'll get a new user if you use an existing username then you'll get back that user's user ID and you'll store that in the phone to do all the other calls you need, like saving your hobbies, or fetching other users. All right, so choose a unique user name that will help you. If you quote quote sign on with a user name, and it happened to be an existing user name already, you probably can tell that it's not your user, if your hobbies are not the hobbies that you're expecting. So in that case, you should probably create a new username and try to create a new user. That way so that we're not stepping on each other's toes. We don't want to use other students' accounts so please use a unique username. All right, as you go along, and you sign in and you see hobbies that you don't expect, again, you may be fighting with another student. Hey, I'm saving my hobbies, why don't they look like what I expect? Some other user might have been also saving hobbies with that same username, so please try to pick something that's a unique username. Okay, what we'll be doing in the next lesson, we'll be creating all of the UI for the application, and we'll be creating the skeletons of all the classes that I introduced in the overview slide here, and so we should be able to get everything ready to go and start putting our code inside of it. All right, that's the next lesson, and then the following lesson will be to flesh out the MeViewController class and implement the CREATE web service call. And then we'll keep on going through the application one view controller at a time. So we'll do the MeViewController which is basically sign in and sign up. Then we'll go do the EditHobbiesViewController, now that I can sign up or sign in, now I should be able to save my hobbies. And then finally the last video should be on the neighborsViewController so we can see how do we go fetch users with my hobby and put them onto the map. [MUSIC]