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

Watch Online Eve: Building RESTful APIs with MongoDB and Flask

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

Full-Stack Vue with GraphQL - The Ultimate Guide

Full-Stack Vue with GraphQL - The Ultimate Guide

Sources: udemy
This entire course within the context of a practical application that we will build literally from the first line of code to live deployment on the web. We'll be building an ima...
9 hours 52 minutes 3 seconds
Rock Solid Python with Python Typing Course

Rock Solid Python with Python Typing Course

Sources: Talkpython
When Python was originally invented way back in 1989, it was a truly dynamic and typeless programming language. But that all changed in Python 3.5 when type "hints" were added t...
4 hours 27 minutes 54 seconds
Build a Realtime App with React Hooks and GraphQL

Build a Realtime App with React Hooks and GraphQL

Sources: udemy
Master the latest and greatest features in React within the context of a full-stack, real-world app. A realtime, full-stack React app from scratch with a GraphQL Server (Apollo ...
4 hours 32 minutes 39 seconds
LeetCode In Python: 50 Algorithms Coding Interview Questions

LeetCode In Python: 50 Algorithms Coding Interview Questions

Sources: udemy
In this course, you'll have a detailed, step by step explanation of 50 hand-picked LeetCode questions where you'll learn about the most popular techniques and p
19 hours 36 minutes 13 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