Hello everyone and welcome to the end of the coach project we've January's framework and future yes.
First of all I want to congratulate you on making it this far into the course.
We have surely discussed a lot of interesting topics in the previous sections and it's finally time
to build a full fledged single page application in a real world scenario using both future yes and Django.
With the rest framework.
And specifically we are going to build a complete web application for a quarter like Web site that you
are going to call Question Time what is of course a pretty popular question and as well Web site and
so in our application Question Time once registered users will be able to post questions and receive
answers on any topic they will be able to vote for the best answers added to each question using a like
button.
And there will also be able to edit or delete their questions or answers at any time.
These end of course project is designed to allow you to experiment and significantly deepen all the
knowledge acquired so far in a real world scenario.
Learning to properly connect and rest api backend written with Django and depressed framework to a single
page front end written with Viejo.
Yes we will create the application backend first pass intent to the creation of the front end interface
as soon as the backend part is completed by developing this project.
You will learn how to use Django and Django this framework in combination with Abuja.
Yes to build a real world projects.
As I said to the project itself is designed to allow you to significantly deepen all the knowledge acquired
so far.
You will learn how to use of UCLA and view a router which are no doubt two of the most useful tools
in their view ecosystem.
You will learn how to build that single page applications weave if you J.
Yes and of UCLA you will learn how to keep a wetbacks out model replacement working with UCLA and Django
during development.
And no worries if you've never heard about where but it's a pretty good advanced tool and you're going
to learn about it in this section and you will learn how to use a session authentication in a Django
this framework power where a single page application which is we've come to understand is the most appropriate
authentication scheme for these kind of projects.
And of course any ways our application will also support a token authentication so that you could write
a mobile play client for it in case you need it too.
So let's have a look at a project this is the authentication page for question time.
As you can see it asks us for a user name and password.
We have a logging button and a link to a page that allows us to create in your account visitor indication
pages are the only ones that are rendered directly by Django.
And that's because this is the default behavior provided by Django when he was in session authentication.
Let's now look in one meal which is the name of the user log in.
And now to this main page is loaded.
From now on all the changes to the content of the page are going to up thanks to view.
Yes javascript is going to be responsible for communicating with the rest EPA backend providing us all
the different data that we need as we use the application.
This is the on page of Question Time we see of course that we have a list of questions and for each
one of them we can see how many answers have been added.
We can see the user who posted the question and if we scroll down the page we see that we have a lot
more button that we can click to get more questions from the database.
On top of the page.
We have a navigation bar with three battles on ask a question and log out.
Of course my clicking on the name of a question the content of the page changes of course and we now
see that we have the question details about the question itself.
And at least we have all the answers that have been added to the specific question.
We have a like button that we can click that as you can see terrorists read as soon as it's pressed
and inside of this parenthesis.
We also see that we have a counter with the number of lives that have been added and similarly to what
happens on quarter.
We can click d answered the question button to reveal a form that we can use to add a new answer as
you can see the green button is now being replaced by you've written an answer because each user can
add only one answer for each question.
However as you can see we can both delete the new answer or just edited it we can add something like
updated and if you now click on publish your answer.
Once you of course that content has been updated then of course clicking on these nice red button on
top we can ask a new question to the community such as for example.
What is your favorite food in the world with a space like so publish in of course.
A question has been published how we can now find it here on top of the list in the on page and of course
if we want to go against it click on loads more to get more questions from the rest api backend.
Let's now click on the logout button.
The authentication page is shown.
Let's now create in account.
Let's choose a username something like Neil.
So Neil at my mail dot com.
Let's add a password.
Create Account.
We can now for example add a new answer to the same question we've asked before.
So yeah for example I could say pizza.
Submit your answer and of course it is published right away.
I believe this is a really cool project to develop.
We are going to learn about a lot of new advanced interesting concepts and of course as you can imagine
we have a lot of code to write.
So let's get started.