Eve: Building RESTful APIs with MongoDB and Flask Transcripts
Chapter: Welcome to the course
Lecture: Welcome and what we'll cover
0:01 Hello and welcome to RESTful APIs with Eve and Mongo.
0:04 This is your host, author and instructor Nicola Iarocci.
0:07 I am really excited to share how you can leverage the Eve framework
0:12 to build and deploy powerful and yet simple REST services in Python.
0:16 So let's start with a quick overview of where we're going.
0:20 First, we will look at what tools we'll be using during the course
0:23 and how to store them,
0:25 maybe you are already confident with some of them or maybe you aren't.
0:28 Either way, I suggest you tag along
0:30 so you get an idea of what is needed for the course
0:33 and don't have to catch up later on.
0:36 Next, we look at REST itself, what REST actually is
0:40 why it is important and what are some of the core principles
0:44 that you really want to understand
0:46 before you even start building a REST service.
0:49 We'll also look at few examples of very well known REST services
0:53 just to get an idea of what is out there
0:55 and what kind of service we aim to build.
0:58 Next up is Flask.
1:01 Flask is a simple and elegant micro web framework
1:04 the Eve framework itself is built top of Flask
1:07 so making ourselves acquaint with Flask makes a lot of sense.
1:11 In this lecture, we will actually build a simple Flask application.
1:14 Since Eve shares so many features with Flask
1:17 our newly acquired skills will come in handy
1:20 once we move up to the Eve framework itself.
1:23 What will follow is an introduction to the Eve framework
1:26 what features it brings to the table, why and how it allows us
1:30 to quickly build and deploy powerful RESTful web services
1:35 and what are its core concepts and philosophies.
1:38 Once we are done with this lecture
1:40 we will have a much clearer idea of what we can do
1:43 with this technology and why it is so useful to us.
1:46 As you probably know already, Mongo is a scalable,
1:49 high-performance No SQL database.
1:51 In my opinion, it makes an excellent choice
1:54 as a data backend for RESTful services.
1:57 In this lecture, we will glance at the feature
2:00 that makes Mongo a good match for the Eve framework
2:02 and the reasons why of all possible databases
2:05 I picked Mongo as the default backend for Eve.
2:08 Alright, at this point we will be ready to build our first RESTful services.
2:13 In this hands-on section we will make ourselves comfortable with Eve,
2:16 we will look at the typical application structure,
2:19 at the set is needed to tailor our app to suit our specific use case.
2:24 Finally, we will write some code which will allow us to launch our service.
2:28 Since we have a working service now
2:30 we'll probably want to consume it with a kind of client.
2:34 In this section, we will look at how to consume a REST service
2:40 Of course, because REST is not confined to Python
2:44 or any other specific language or stack,
2:47 what we will learn here, will be useful to access
2:51 all kinds of RESTful web services not just our own.
2:54 Now that we are capable of sending or receiving data in a RESTful way
2:58 we want to make sure data coming in is properly validated,
3:02 this is a wider part of our data service as you can imagine.
3:06 In this data focused lecture we will look at
3:10 how Eve allows to easily set up powerful data validation rules,
3:14 not only that, we will also see how we can leverage
3:17 some advanced Eve features to circumvent
3:20 some of the Mongo limitations, like the lack of joints.
3:25 And finally, real-world services.
3:28 This is where our Eve service grows up
3:30 and becomes a mature and fully featured restful service.
3:34 We will look at queries and how we can fine tune
3:37 all kinds of query related features;
3:40 we will address stuff like pagination,
3:43 sorting, client server projections,
3:45 conditional requests, concurrency control,
3:47 JSON and XML rendering, etc.
3:51 We will also get our feet wet with the security management
3:56 and access control, and of course, production deployment.