Building data-driven web apps with Pyramid and SQLAlchemy Transcripts
Chapter: Welcome to the course
Lecture: What is fullstack development?
0:00 In this course, you're going to learn
0:01 what's sometimes referred to as full-stack web development.
0:05 Now, we don't spend that much time
0:09 but everything else we do spend a fair amount of time on.
0:11 So, what the heck is full-stack anyway?
0:14 Let's look at all the pieces involved
0:16 in a typical web application interaction. We have a browser
0:20 we have our server running out on some cloud hosting
0:23 we have usually a virtual machine
0:25 or set of virtual machines in the background
0:27 and our database we're working with.
0:29 So, a request is going to come in.
0:30 It's going to magically find it's way
0:33 through the internet to our server.
0:34 Our server is going to do some processing
0:37 talk to the database, and so on.
0:40 Where's the full-stack part come in?
0:41 Well, let's look at the technologies involved here.
0:45 On the server side
0:47 there are a bunch of different technologies
0:48 you need to learn.
0:50 We're going to learn Python.
0:51 Well, we're going to use Python at least
0:53 and we'll probably learn little bits of it along the way
0:55 but we're going to focus on using Python
0:58 along with Pyramid
1:00 the web framework that we're going to work with.
1:02 The dynamic HTML templates
1:05 in this case Chameleon.
1:07 The data access layer SQLAlchemy.
1:10 In order to deploy and configure our servers
1:12 we're going to need to know a little bit of Linux.
1:14 Learn that.
1:15 We're going to use Nginx and uWSGI.
1:18 These are two cooperating web servers
1:20 that we're going to with to run our Python code in Pyramid.
1:24 Then we're going to talk to the database.
1:26 Well, what do you need to know for that?
1:27 Well, maybe this is Postgres or MongoDB.
1:31 For the course, we're actually going to use SQLite
1:33 and also a little bit of touch of MongoDB at the end
1:36 but it's easier to switch to something like Postgres.
1:39 You many need to know the query language to get to that
1:43 like SQL, or MongoDB's query syntax
1:46 it's like a JSON type thing.
1:48 We're not going to actually focus much on the query syntax
1:52 because we're going to use SQLAlchemy
1:53 which lets us sort of abstract that away
1:56 but you would more or less need to know that in practice.
1:59 You also need to know how to migrate or manage your database
2:03 over time as it's structure changes.
2:05 Look at all these technologies just on the server side.
2:08 That's a lot to learn
2:09 and this whole stack of technologies put together
2:13 is part of what's called full-stack
2:14 but there's more to it.
2:16 Over here on the browser side
2:18 we have HTML and CSS we have to deliver
2:21 to the browser, right?
2:22 That's ultimately the goal
2:23 is to show stuff on the screen for the web browser.
2:27 HTML and CSS, we're going to do some work with that.
2:29 You typically don't want to do the design from scratch
2:32 so you'll pick a front-end framework like Bootstrap.
2:37 with say, Vue.js.
2:39 Those are grayed out, because like I said
2:42 but these are the technologies that you might put
2:45 into play for a full-stack web application.
2:49 The web can be a little bit daunting.
2:50 We're going to go through most of these technologies.
2:53 All of the white highlighted ones in this course
2:56 and you'll have concrete small examples for each one.
3:00 In the end, we'll have it all put together in a full-stack
3:03 Python-based web app using Pyramid
3:06 SQLAlchemy, and Bootstrap.