- [Instructor] Let's imagine we are a developer
that has taken a contract from a school
to update the school's student manager,
based off feedback they have received from the users.
I'll go over the application with you as it is
as we are going through the list of feedback items.
The number-one complaint is that
when a new student is added,
the student list does not update.
And in order to show the update,
we have to refresh the entire application.
And on a slow connection, that could take awhile.
This is also the same issue when we edit the student.
Once again, we need to refresh the page
in order to see the changes.
The next issue is that changing views
sometimes takes too long to load.
And as you can see, the students are still loading in,
although sometimes it can be fast.
And so we have intermittent slow load times.
And the last issue, which is related to the second,
is that when the page loads for the first time
or in between views, there's no indicator
that data is loading, so we don't know
if it's just taking a long time or if it's frozen.
And so the end user does not know
if they should wait or refresh and try again.
So in this course, we have three goals to achieve
based off the feedback items we received.
The first is that we would like to implement some sort
of instant data updating on student edit
or adding a new student.
The next goal is to guarantee fast switching
in between views by reducing data calls made
to the back end.
Our third goal is to create some sort of loading indicator
for data, so that when the data loads in,
we're not just left with a blank area
where the students should be,
but instead, we might see a progress bar.
The fourth goal is to create some sort of error pop up
for when the server does have a problem.
Overall, we want the more modern web application,
something similar to what we're used to with Gmail,
which behaves more like a mobile application
than it does a website.
And luckily, we can achieve all of these things using Vuex.
So let's begin working our way through these goals,
starting with implementing our own data store
in the next video.