Skip to main content
CF

Eve: Building RESTful APIs with MongoDB and Flask

5h 6m 34s
English
Paid

Unlock the power of building RESTful APIs with Eve, a user-friendly open-source Python framework. This course will guide you through the process of creating fully customizable RESTful web services using Flask and MongoDB. You'll delve into all aspects of the Eve REST framework to build robust APIs. Begin with an overview of MongoDB and Flask, then dive into creating schemas and endpoints with Eve, enabling immediate HTTP client servicing, and much more.

Course Repository

Access the source code and course materials on our GitHub repository:

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

What You Will Learn

Throughout this course, you will gain the skills to:

  • Create a new Eve web service application
  • Define data schemas for your service and MongoDB
  • Query directly from the client to your service
  • Validate inbound data, including custom rules for accuracy
  • Implement paging for managing large data sets efficiently
  • Project responses tailored to the data you need
  • Switch between JSON and XML formats per client request
  • Consume the API using JavaScript, Python, and Postman
  • Secure your service with authentication protocols
  • Add event hooks, such as pre-insert actions, for enhanced control
  • Limit client rates to prevent service abuse
  • Deploy your comprehensive API service
  • And much more

Target Audience

This course is designed for anyone interested in utilizing Eve to construct RESTful APIs. Some basic Python understanding is assumed, but you do not need advanced knowledge of MongoDB, Flask, or REST to succeed in this course. Whether you're a beginner or seeking to enhance your API development skills, this course offers valuable insights and practical experience.

About the Author: Talk Python Training

Talk Python Training thumbnail

Talk Python Training is the paid course platform of Michael Kennedy, the host of the long-running Talk Python To Me podcast — one of the most-listened-to podcasts in the Python ecosystem. The course platform extends Michael's interview-based knowledge of the field into structured video courses taught by Michael and a curated set of guest instructors.

The course catalog covers the full Python landscape: web development with Django, Flask, FastAPI, and the broader async-Python stack; data science and pandas; LLM / RAG application development; testing and CI/CD; deployment patterns; the data-engineering side of Python; and a long list of practical Python patterns aimed at working developers. Few platforms cover the language with this much breadth from inside the Python community itself.

The CourseFlix listing under this source carries over 18 Talk Python Training courses spanning that range. Material is paid; Talk Python Training runs on per-course pricing on the original platform. Courses are aimed at developers using Python as a serious primary language rather than as a scripting tool.

Watch Online 76 lessons

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

Related courses

Frequently asked questions

What prerequisites are required before enrolling in this course?
A basic understanding of Python is assumed for this course. It is designed for those interested in using the Eve framework to construct RESTful APIs. Familiarity with web development concepts and basic programming skills will be beneficial, although the course does cover the installation and setup of necessary tools like Eve, MongoDB, and Flask.
What will I be able to build by the end of this course?
By the end of the course, you will have developed a fully functional RESTful API service using the Eve framework, integrated with MongoDB. You will know how to define data schemas, implement data validation, manage large datasets with pagination, and secure your service with authentication protocols. Additionally, you will be able to deploy this API service and consume it using JavaScript, Python, and Postman.
Who is the target audience for this course?
This course is designed for developers and programmers interested in building RESTful APIs with the Eve framework. It is suitable for those who are looking to enhance their skills in web services and API development using Python, MongoDB, and Flask. Basic knowledge of Python is recommended for participants.
How does this course compare to other API development courses in terms of scope?
This course specifically focuses on using the Eve framework to create RESTful APIs with MongoDB and Flask. It offers detailed coverage of Eve's capabilities, such as schema definition, data validation, and security measures. Unlike more general API courses, it provides hands-on experience with specific tools like Postman for testing and VSCode for development, making it a focused choice for those interested in these technologies.
What specific tools or platforms does the course cover?
The course covers several tools and platforms essential for API development with Eve. It includes the installation and use of Python 3.5+, MongoDB, and the Flask web framework. Additionally, it involves using Postman for API testing and the VSCode editor for code development. Students will also learn to switch between JSON and XML formats in their API responses.
What topics are not covered in this course?
The course does not cover alternative backend databases in detail, such as SQL or Elasticsearch, beyond a brief mention. It focuses specifically on MongoDB as the backend database. Additionally, it does not provide in-depth coverage of advanced Python programming techniques beyond what is necessary for using the Eve framework.
What is the expected time commitment for completing the course?
The course consists of 76 lessons, but the total runtime is not specified. Given the comprehensive nature of the course, covering various topics from installation to deployment, students should expect to dedicate a significant amount of time to fully engage with the material, practice exercises, and complete the hands-on projects.