Notes on this module
This project is from
course 2
of the Full Stack Web Developer Nanodegree program at Udacity. The goal of this module is to learn how to build a trivia API using Flask, a micro web framework written in Python. The project was focused on API Development and Documentation.
Outline from the course
- APIs - You will learn what APIs are and how do they work. You will also gain insights into the Internet protocols and RESTful APIs.
- Handling HTTP Requests - We will introduce you to HTTP, Flask, and writing and accessing endpoints.
- Routing and API Endpoints - You will learn to use endpoints and payloads (information passed along with the request) to extend the functionality of your API. You will learn to organize API endpoints, handling [[Cross-Origin Resource Sharing]] (CORS) requests, parsing different request types, and handling errors.
- Documentation - You will learn to write documentation to enable others to use your API or contribute to your project.
- Testing - You will learn unit testing and test-driven development (TDD). Unit testing will ensure that each function is working as expected and handling errors. TDD will teach you to write tests even before defining the functions in your code.
By the end of the course, you will have hands-on experience on the following technology stack:
- Flask
- Flask-CORS
- SQLAlchemy
- JSONify (to format the data in our responses)
- Unittest
Course Project
The API will allow users to:
- Search for trivia questions and answers via category and difficulty.
- Add new questions.
- Modify the difficulty rating of questions. The goal of this project is to use APIs to control and manage a web application using existing data models. Learners will be given a set of data models and the application front end. Their task will be to implement the API in Flask to make the Trivia game functional.
Progress Log
- API|Introduction to APIs ✅ 2022-09-03
- HTTP & Flask Basics ✅ 2022-09-03
- Endpoints and Payloads ✅ 2022-09-21
- API Testing ✅ 2022-09-21
- API Documentation ✅ 2022-09-24
- Finish Career Webinar #2 ✅ 2022-09-24