#100DaysOfCode in Python Transcripts
Chapter: Days 85-87: Fullstack web apps made easy
Lecture: What is fullstack development?
0:00 The title of this chapter is Full Stack Web Apps Made Easy. So, what the heck is Full Stack anyway?
0:05 You may have heard this term. It's definitely floating around there as a buzzword out in the industry, but let's
0:10 try to put some structure to it so you really know what I'm talking about. Now, let's look at the pieces involved in a standard Web App.
0:17 We got our browser, we have some kind of cloud hosting, there's really some sort of server, maybe it's a virtual
0:22 machine or set of virtual machines we manage, and there's typically a database. A request comes in, goes over to the server, goes off
0:30 to the internet; somehow finds its way magically through the magic of the internet to our server, our server talks to the database, and so on.
0:38 For most deployments, most applications you build, what do you need to know? It's actually incredibly daunting, I mean you're taking
0:45 100 Days Of Python here, but there's a lot of languages and technologies involved. We have tried to help with this, but still, let's see.
0:54 On the server side, we got to know Python, we have to know HTML and CSS, some kind of templating like Jinja2
1:00 or Chameleon, some web framework like Flask or Pyramid, a data access layer like SQLAlchemy or MongoEngine
1:07 or something like this. The actual infrastructure, typically that's Linux, and if you aren't in Linux, probably
1:12 you got to configure the front-end web server, which is NGINX. You also got to configure the app server which runs your code
1:19 itself, which is uWSGI or Gunicorn, or something like that. There's just like, "That is just the server! Do we forget about the database?" Nope.
1:27 There's more stuff that goes over here; you got to know the server that is the database, SQLite or MySQL or something like that.
1:33 Got to know the query language, the SQL query language. In practice, you got to know migrations, how do we evolve your database?
1:54 building web apps is both really fun but also really challenging because you don't just learn the one
1:59 thing and then go build the app; it's all these technologies put together. Once you master them, this is a super fun way to build
2:05 applications, but it can be really daunting. Whatever it is, it's not quick to get started. We're going to see that what we're using for this set of
2:13 three days takes many of these things and makes them nearly trivial or automatic or just puts them behind the scenes for us.