In the last section we did a quick walk through of how our user will flow through our application.
Remember they're going to sign up with Google Earth give us some money create a campaign.
That campaign will be sent out to all of their users their users will then click some link inside that
email leave some feedback and then we will present that to the person who sent out the original survey.
So I know that it might be already kind of confusing when I use the word user right now because we're
talking about both the product owner and the users who use that product owner's application.
But when we say user we might be referring to the product owner as opposed to that kind of sub user
anyways.
All this terminology is probably confusing right now.
But don't worry over time it's going to become really clear as we start working on the actual app.
So now we know how user will flow through the application.
Let's talk about some of the different technologies we will use to pull this entire thing off.
Now as we talk about these different technologies we're doing so just to give you a sense of some of
the different tack that we're going to be getting through inside this course.
This is not necessarily an exhaustive list and there really is a couple of other libraries that we're
going to be using along the way but I want to give you a sense of what we're going to be doing and vaguely
some what kind of the order in which which we're going to be doing it.
We're not going to follow this order of steps right here exactly throughout the course but you know
kind of it's going to give you an idea of how we might be putting things together.
Okay.
So first off is handling Google authentication for that we're going to be making use of an Express back
in server and storing user information inside of Mongo DB to handle the actual authentication and awat
process.
We'll be using a third party library called passport yes.
Passport G-S is going to make the Along side of things a lot easier for us to set up.
Of course passport itself has its own set of challenges so you know we'll get through that in time.
Next is handling payments.
We're not going to be dealing with credit card numbers directly.
We're not going to be taking credit cards into our application.
Instead we're going to use a third party service called Strype for handling everything around billing
and side of our application.
Strype is somewhat like Passport him that it's somewhat easy to get started with but you also have to
be aware of some real edge cases that make life just a little challenging especially when we're using
react with stripe.
Believe it or not so will be using stripe to handle payments.
And then whenever a user pays up some amount of money will record that inside of our Mongo DB database
next whenever a user attempts to create a new campaign or survey.
However you want to refer to it we'll be making use of react and redux whenever the user starts entering
the list of e-mails or some details about what they want to collect.
As far as surveys or feedback we'll be making use of re-act redux and redux form.
So again these two steps right here.
It's really all about the front end of our application and that's where we're going to see a lot of
work with react and redux form after we've collected all this information about this new campaign or
survey to send out we will send out this list of e-mails to all the survey.
For that we're going to be making use of a third party e-mail provider.
This is still going to take a lot of integration on our site to put the e-mails together to send out
and there's probably going to be the bulk of real complicated stuff inside this course around handling
these e-mails.
But that's going be a lot of fun.
We're going to figure out really truthfully how to handle e-mails very well inside of our application.
Now when a survey gets that actual e-mail requesting some amount of feedback we need to make sure that
we somehow record the feedback that the user is given or presents to us for that we're going to be using
a combination of the e-mail provider our Express back and the Mongo D-B database next to tabulate all
the feedback that we're given.
We're going to store all that data inside of Mongo D-B and whenever a user wants to see that feedback
we're going to use Mago.
Now put Mongo questionmark right here because you know we'll kind of figure this part out.
There's a lot of different ways that we could handle tabulation of feedback.
But we'll just kind of assume right now that we're going to be using Mongo D-B for it.
Finally a user should be able to see a report of all their survey responses and for that yup we'll use
Mongo.
We're going to kind of pull out all the feedback that we've been given out of our database and then
we'll present it to the user by using react and redux.
OK.
So that's essentially again the entire flow and how all these different technologies are going to fit
in.
Again this is not an exhaustive list.
I just want to give you a taste or a sense of what we're doing at this point.
I'm hoping that it's pretty clear exactly how a user is going to flow through our application and what
the purpose of the application is.
So if you're still confused at all about what we're trying to do with this app and what its purposes
feel free to jump over to the Course discussion on you me and just ask me a question just say Hey Stephen
I really don't understand what we're building here.
Can you go into a little bit more detail.
Now having said that we are going to look at some mockups of the front end aspects of this application
and the next section.
So if things are confusing you know maybe check out the markups and last section and then let me know
what you think.
So let's take a break.
We're going to come back to the next section and start looking at some mockups of the front and side
of our application.
I'll see you in just a second.