#100DaysOfCode in Python Transcripts
Chapter: Days 91-93: Database access with SQLAlchemy
Lecture: Demo: Introducing our app

Login or purchase this course to watch this video and the rest of the course contents.
0:00 Let's get right into writing some code.
0:03 Now, if you look in the GitHub Repository,
0:05 there's two sets of code here.
0:08 They look exactly the same right now
0:10 but they're going to be very different at the end.
0:12 In this project, we're going to start
0:14 from an existing application.
0:16 One that's already done and all we're going to do
0:19 is add database access to it.
0:22 It's a bit of a trade off that happens to be
0:23 more realistic, more entertaining,
0:25 but slightly more complex by starting with something
0:28 instead of entirely from scratch.
0:29 But we'll isolate the SQLAlchemy pieces really well.
0:32 So this one, this persistent RPS starter,
0:35 this is going to stay in the starter state.
0:37 This one on the other hand, we're going to evolve
0:40 to the final version.
0:41 Now before I open this in PyCharm,
0:43 let me come over here and create a virtual environment.
0:48 And now on MAC OS we can drop it here,
0:50 or on Windows or Linux, you say file, open .directory.
0:54 So let's go through and have a
0:55 quick look at what we got here.
0:56 First, tell PyCharm to chill out on the virtual directory.
1:01 Start up the program.
1:02 So this is the thing that we're going to run.
1:04 Let's just go ahead and run it so you see what happens here,
1:06 in fact, yeah just run it like this.
1:09 So we're going to play, you might've guessed from the RPS,
1:11 Rock Paper Scissors.
1:13 And we're going to use a database to store
1:15 all the players who have played the games,
1:17 all the games that have been played,
1:19 the roles, who has won, who has the highest score,
1:22 we'll do reporting on that so we'll
1:24 sort of show the high score screen
1:26 by just doing a database query
1:27 and order by times they won, things like that.
1:31 It starts out asking what your name is.
1:34 And then we're going to play not rock paper scissors,
1:37 but we're going to play 15-way rock paper scissors.
1:39 So really fun, we have things like:
1:41 the devil, and the dragon, and the sponge, and so on.
1:44 So let's start by throwing standard rock.
1:48 I need that a little higher
1:49 so we can see what's going on here.
1:50 Oh! I've been defeated.
1:52 I threw rock, but the computer threw water.
1:53 Apparently, water beats rock.
1:55 How about fire?
1:57 I'm defeated again, this is not going to be good.
1:59 I'll throw a snake.
2:00 The computer also threw the snake,
2:02 so let's throw eight.
2:06 Paper. They threw tree.
2:08 I'm not looking... I don't think
2:10 it's going to matter what I'll throw
2:12 so let's throw a tree.
2:14 I threw a tree, they threw a scissors,
2:15 I win, but the computer wins 3-1.
2:17 We had one tie, three wins for the computer, one for me.
2:20 Therefore, I lose.
2:22 So we're going to take this game,
2:23 as you can see it lets you play
2:25 but it doesn't show you a high score.
2:27 It has no history of the game.
2:28 If I run it again, it just entirely starts from scratch.
2:32 So we're going to go over here
2:33 and we're going to upgrade this by using SQLAlchemy
2:36 to make it remember.