Eve: Building RESTful APIs with MongoDB and Flask Transcripts
Chapter: Welcome to the course
Lecture: Welcome and what we'll cover
Login or
purchase this course
to watch this video and the rest of the course contents.
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:37
with Python, Javascript and other tools.
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.