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

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

Building data-driven web apps with Flask and SQLAlchemy

Building data-driven web apps with Flask and SQLAlchemy

Sources: Talkpython
One of the areas Python really shines is in building clean and powerful web applications. Once you know the language basics, this course will teach you everythi
9 hours 38 minutes 43 seconds
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
Automated Software Testing with Python

Automated Software Testing with Python

Sources: udemy
Testing automation doesn't have to be painful. Software testing is an essential skill for any developer, and I'm here to help you truly understand all types of
13 hours 26 minutes 55 seconds
The Software Designer Mindset (COMPLETE)

The Software Designer Mindset (COMPLETE)

Sources: ArjanCodes
"The Software Designer Mindset" is a course that teaches all aspects of software architecture and offers practical advice on creating scalable software...
14 hours 32 minutes 58 seconds
#100DaysOfCode with Python course

#100DaysOfCode with Python course

Sources: Talkpython
#100DaysOfCode in Python is your perfect companion to take the 100 days of code challenge and be successful. This course is 1-part video lesson, 2-parts guided projects. You wil...
17 hours 27 minutes 49 seconds