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

Talk Python's Mastodon Michael Kennedy's Mastodon