Building Data-Driven Web Apps with Flask and SQLAlchemy Transcripts
Chapter: Welcome to the course
Lecture: What is fullstack development?
Login or
purchase this course
to watch this video and the rest of the course contents.
0:00
In this course we're going to build what is called a full stack web app. Or at least sometimes it's referred to as that.
0:07
So what is this full stack idea anyway? Let's talk real quickly about it. So we have a browser, we have the internet
0:14
we have our server and our server's going to talk to a database. And this browser, it wants to talk to our web app. So magically a request comes in
0:21
and finds its way through the internet to our server. Our server is going to do some work maybe ask some questions to the database
0:28
and send a response back. What technologies do we need to know to make this happen? Well, over on the server side
0:34
we're going to use Python to run our Flask application. We're going to write our code in Python, things like that.
0:41
We're also going to write dynamic HTML templates in a Python extended version of HTML basically in something called Jinja, Jinja2 specifically.
0:51
So we need to know this Jinga language we need to know the Flask web framework we've got to talk to a database.
0:57
We could do that directly through the DB-API and raw SQL, and the raw MongoDB query language but that's really not the most efficient way to do it.
1:06
So we're going to use SQLAlchemy to map classes over. So we're going to learn SQLAlchemy. We want to deploy our code somewhere on the internet
1:13
that's the red thing right here in the picture after all. So we're going to put that onto Linux, onto Ubuntu. And there, we need to have something
1:20
that's going to run our Python code, our Flask application and do all the web stuff like HTTP2 Static files, SSL and so on.
1:28
So that latter part is Nginx the part that runs our code is uWSGI. So we're going to have all these things in play in the server
1:35
and then when we talk to the database the database will probably be Postgres or MongoDB and of course it has its own query language
1:42
like SQL, or the MongoDB query language. We're not really going to focus too much on that because we're going to use this class based
1:49
ORM style with SQLAlchemy. But, in practice, you would need to know that. You'd also need to be able to migrate this database
1:56
and evolve its schema as your application changes over time. So you need to know about database migrations
2:02
and production and backups, and things like that. So that's all from the server side we're not quite done.
2:08
We have a little more over here in the browser. We're going to send back HTML and we need to know HTML and CSS to make this look good.
2:15
Probably some frontend framework or we're going to be doing a ton of work ourselves. So maybe Bootstrap or Semantic UI, or something like that.
2:23
Possibly, at least sometimes in these full stack web apps we're doing a lot of Javascript maybe a front end Javascript framework like Vue.js.
2:30
The gray out stuff we're not really going to cover too much so we're not going to really worry about that.
2:34
And you'll see you can build really interesting applications without most of those. At least without very much Javascript or the front end frameworks.
2:42
Although, often when people do talk about full stack that's kind of included in there. There's a ton of stuff we're going to learn here.
2:49
This can be pretty daunting in the beginning. You're like, "Oh my gosh, all these things "and not only do I have to get better at Python
2:55
"I also have to get better at CSS "and databases, in Linux. "I didn't even think I'd have to learn Linux for all this."
3:01
Right? But, don't worry, by the time you get to the end of this course, you're going to have a really nice concise and tight example of putting
3:08
all this stuff together. We're going to talk about each one of them separately and you're going to have a great app
3:14
a great full stack web app, at the end of this course.