We still have a whole lot to learn around React Native.
So in this video we're going to start to discuss the next big application we're going to work on.
All right.
Here we go.
Couple of different mockups to take a look at.
So I've got several different mockups here.
This application we're going to start working on is rather large in nature.
I'm going to first begin by telling you what the point of this application is.
In other words what is this app going to do.
Our app is going to show a map to a user.
So this is going to be a normal map that you wouldn't normally make use of on your phone.
So either Apple Maps or Google Maps or whatever else we're going to show the user's current location
on that map.
We're then going to record the user's location over time and as the user starts to move around in the
actual world we're going to draw a kind of a little line on the map like the one you see right here.
So users are going to be able to track the path that they make over time in the real world.
A user might want to use this application if they're going on a hike or a bike ride or a road trip or
something like that any use case where user starts to move around in the physical world and they just
want to kind of recap and see what path they took.
The main screen that a user is going to be making use of is a screen that we'll call track create screen.
So on the screen a user will be able to see their current location whenever they hit this record button.
We're going to record their location over time.
And like I said we're going to draw a little line on the map just to tell the user exactly where they
are after a user has recorded what we're going to call a track which is essentially a series of points
in the real world.
We're then going to save that information and list out all the different tracks that a user has recorded
on another screen called Track List screen.
So on the screen the user might have recorded a fun hike they went on and then maybe a bike ride a road
trip and so on.
Whenever a user taps on one of these different tracks they have recorded.
Well then take them to a detailed screen where we will show them another map once again and show them
the exact route they had taken when they did that given activity.
Now in addition to these three kind of primary activity screens right here we're also going to have
some navigation or somehow authentication.
So we want to have a sign up screen where a user can sign up for an account with our application with
an email and password.
And we'll also have a sign in as well and then the last screen we're going to worry about is an account
screen over here.
That's right.
Now really just going to be dedicated to allowing a user to sign out of our application.
But if we wanted to we could also have some other type of configuration settings or something like this
on this account screen as well.
So that's pretty much it.
That's what we're going to build now at this point.
The purpose of the application or this map right here might still be a little bit unclear.
That's really fine.
We're going to build this.
So you're going to end up having a really good idea of exactly what this application does.
Now what I want to tell you a little bit more right now is the architecture we're going to use for this
application.
So we're going to have our app of course running on a device.
Our app is going to communicate with an outside API that you and I are going to assemble together.
So this is going to be an express API.
That's going to handle authentication.
So the ability of a user to sign in and sign up.
And it's also going to handle storage of these different tracks that a user creates.
I remember a track is essentially a collection of physical locations that a user passes through we're
then going to store all the information tied to these users in their tracks inside of a mongo DV instance.
So we're going to put this Express API together and we're going to make sure that it speaks to our Mongo
DB instance.
One thing I want make sure that is really clear right now you do not have to build the Express API with
me.
I'm going to show you how to build it from scratch but it's entirely optional.
So if you don't want to build that API no problem.
This is of course around React Native.
After all had not expressed back in development.
So if you do not want to build the Express API with me you can just skip to the next section which is
going to be many videos ahead and you can download all the completed source code for the express app.
At that point in time I do want to say that even if you skip the Express setup you still have to run
the server manually or locally on your own computer if you do skip these setup videos and go directly
over to that download link.
Like many videos ahead I'm going to show you how to set up that server.
So even if you decide not to set up the stuff with me or write out the actual code I'll still show you
how to run the server locally.
So you can use it inside of your application as well.
OK.
So that's pretty much it.
Let's take a pause right here.
When we come back the next section we're gonna start working on our Express API.