Skip to main content

Eve: Building RESTful APIs with MongoDB and Flask

5h 6m 34s
English
Paid

Course description

Eve is an open source Python REST API framework designed for human beings. It allows you to effortlessly build and deploy highly customizable, fully featured RESTful web services. This course will teach you to effortlessly build RESTful services based on Flask and MongoDB. We dive deep into every aspect of the Eve REST framework. After a quick introduction to MongoDB and Flask, we'll dig into Eve, build our schemas and endpoints and start serving HTTP clients right away, and that's just the beginning.

Read more about the course

Source code and course GitHub repository

 github.com/talkpython/eve-building-restful-mongodb-backed-apis-course

In this course, you will:

  • Create a new Eve web service application
  • Define data schemas for the service and MongoDB
  • Issue queries from the client straight into the service
  • Validate inbound data (including custom rules)
  • Add and configure paging for large data sets
  • Project responses for just the data you need
  • Switch between JSON and XML per client request
  • Consume the service with JavaScript, Python, and Postman
  • Secure your service with authentication
  • Add event hooks such as pre-insert actions
  • Limit the rate of your clients to avoid abuse
  • Deploy your service
  • And lots more

Who is this course for?

It's for anyone who has wants to leverage Eve to build RESTful APIs. We do assume you know basic Python concepts but advanced features and knowledge of MongoDB, Flask, and REST is not required.

Watch Online

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 76 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: Welcome and what we'll cover

All Course Lessons (76)

#Lesson TitleDurationAccess
1
Welcome and what we'll cover Demo
04:02
2
Meet the instructor
01:02
3
Get the source code
00:31
4
Video player: A quick feature tour
02:05
5
Python v3.5+
02:09
6
Installing Eve and its dependencies
05:27
7
Working with different versions of Eve
03:42
8
Installing Mongo
02:28
9
SQL, Elastic and other alternative backends
00:49
10
VSCode editor
04:49
11
Postman
00:46
12
Core REST principles
07:12
13
Why a micro web framework
04:14
14
Hello world, Flask-style
07:31
15
What is Eve and why it was built
02:06
16
Exploring Eve: Getting Started
06:21
17
Exploring Eve: Queries
02:30
18
Exploring Eve: Sorting
02:43
19
Exploring Eve: Pagination
00:59
20
Why Mongo is a good match for REST
04:28
21
Let's build and launch our first app
06:17
22
Connecting to Mongo
01:44
23
Enabling writes
03:11
24
Defining document schemas
02:16
25
Full range of CRUD operations
06:39
26
Recap
03:52
27
Postman
05:37
28
JavaScript and websites
08:30
29
Python
09:44
30
Introduction to data validation
01:47
31
Built-in validation rules
07:29
32
Advanced validation rules
07:43
33
Data-relations and embedded resource serialization
08:15
34
Custom rules and types
07:55
35
Recap
01:04
36
Handling datetime values
04:35
37
Query options and security
04:58
38
Pagination options and performance optimizations
03:54
39
Client and server projections
03:58
40
Conditional requests
05:59
41
HATEOAS
03:21
42
JSON and XML rendering
02:25
43
Securing the service
09:21
44
Event hooks
04:58
45
Rate limiting
04:07
46
Still a Flask app
02:09
47
Deploying your service
02:53
48
A small refactoring
02:56
49
Recap and closing remarks
02:02
50
The future of Eve
01:27
51
Thanks and goodbye
00:32
52
Appendix introduction: Installing MongoDB
00:18
53
Setting up MongoDB as a Windows service
10:07
54
Concept: MongoDB as a Windows service
02:25
55
Setting up MongoDB on macOS
04:12
56
Concept: Setting up MongoDB on macOS
01:18
57
Setting up MongoDB on Linux
05:10
58
Concept: Setting up MongoDB on Linux
01:26
59
Appendix introduction: Deploying MongoDB
00:18
60
Warning: Action required
04:37
61
The MongoDB deployment checklist
02:38
62
Creating a couple of cloud servers
08:30
63
Installing MongoDB for production use
09:36
64
Concept: Installing MongoDB for production
01:12
65
Limit you network exposure
01:14
66
Limit you network exposure in action
06:06
67
Concept: Limit network exposure
01:50
68
Adding encrypted communication for MongoDB
05:08
69
Concept: Adding encrypted communication for MongoDB
01:09
70
Adding authentication to MongoDB
05:20
71
Concept: Adding authentication to MongoDB
01:01
72
The BIG moment
03:36
73
Connecting to MongoDB via Python
10:27
74
Concept: Connecting to MongoDB via Python
01:23
75
MongoDB admin tools
07:15
76
Concept: MongoDB admin tools
02:46

Unlock unlimited learning

Get instant access to all 75 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Comments

0 comments

Want to join the conversation?

Sign in to comment

Similar courses

Build an LLM-powered Q&A App using LangChain, OpenAI and Python

Build an LLM-powered Q&A App using LangChain, OpenAI and Python

Sources: zerotomastery.io
LLMs like GPT are great at answering questions about data they've been trained on...but what if you want to ask it questions about data it hasn't been trained o
2 hours 38 minutes 22 seconds
Python for Business Data Analytics & Intelligence

Python for Business Data Analytics & Intelligence

Sources: zerotomastery.io
Become a top Business Data Analyst. We’ll teach you everything you need to go from a complete beginner to getting hired as an analytics professional. You’ll lea
15 hours 25 minutes 6 seconds
Python for Data Engineers

Python for Data Engineers

Sources: Andreas Kretz
If you want to take your skills in Data Engineering to the next level - you are in the right place. Python has become the primary language for data analysis...
2 hours 21 minutes 18 seconds
Machine Learning A-Z : Become Kaggle Master

Machine Learning A-Z : Become Kaggle Master

Sources: udemy
Want to become a good Data Scientist? Then this is a right course for you. This course has been designed by IIT professionals who have mastered in Mathematics and Data Science. ...
36 hours 23 minutes 54 seconds
30 Days of Python | Unlock your Python Potential

30 Days of Python | Unlock your Python Potential

Sources: udemy
In early 2016, Python passed Java as the #1 beginners language in the world. Why? It's because it's simple enough for beginners yet advanced enough for the pros
9 hours 22 minutes 38 seconds