Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/nafisalawalidris/fastapi-learning

This repository documents my exploration of FastAPI a modern Python framework for building APIs. It includes my progress, practical implementations and insights as I learn to create high-performance APIs. The repo covers setup, development and deployment of FastAPI applications and serves as a portfolio of my learning experience.
https://github.com/nafisalawalidris/fastapi-learning

api crud-api data-science database deployment fastapi python

Last synced: 3 months ago
JSON representation

This repository documents my exploration of FastAPI a modern Python framework for building APIs. It includes my progress, practical implementations and insights as I learn to create high-performance APIs. The repo covers setup, development and deployment of FastAPI applications and serves as a portfolio of my learning experience.

Awesome Lists containing this project

README

        

# FastAPI Learning Journey

Welcome to my FastAPI learning journey, this repository documents my progress, projects and insights as I explore the FastAPI framework.

## Overview

As a Data Scientist with 3 years of experience, I am expanding my skill set to include FastAPI which is a modern web framework for building APIs with Python. This repo will serve as a portfolio of my learning process and practical implementations.

![alt text]()

## Table of Contents

- Introduction
- Why FastAPI?
- Learning Objectives
- Setup and Installation
- Creating a Virtual Environment
- Installing Dependencies
- Running a Basic FastAPI Application
- Project Structure
- Learning Progress
- Setting Up a Virtual Environment
- Basic FastAPI Application
- API Endpoints and CRUD Operations
- Database Integration
- Authentication and Authorisation
- Testing and Debugging
- Deploying FastAPI Applications
- Projects
- Resources
- Contributing
- License

## Introduction

This repository is dedicated to documenting my journey as I learn and master FastAPI a powerful and efficient web framework for building APIs in Python.

## Why FastAPI?

FastAPI is known for its speed, ease of use and modern features like asynchronous programming and automatic validation. It’s an excellent tool for building high-performance APIs and it complements my background in data science by enabling me to create robust scalable APIs for data-driven applications.

## Learning Objectives

- Understand the basics of FastAPI and its core features.
- Build RESTful APIs with CRUD functionality.
- Integrate databases and manage data with FastAPI.
- Implement authentication and authorisation mechanisms.
- Deploy FastAPI applications to production.
- Explore advanced features like background tasks, WebSockets and more.

## Setup and Installation

Steps for setting up FastAPI:

1. Create a virtual environment.
2. Install the necessary dependencies.
3. Run a basic FastAPI application.

## Project Structure

An example of how the project might be structured including folders for application code, tests and environment settings.

## Learning Progress

This section documents the steps in my learning journey:

- Setting up a virtual environment.
- Creating a basic FastAPI application.
- Building API endpoints and implementing CRUD operations.
- Integrating a database.
- Implementing authentication and authorisation.
- Testing and debugging.
- Deploying applications to production.

## Resources

Links to useful documentation and guides including:

- FastAPI Documentation https://fastapi.tiangolo.com/
- Python Official Documentation https://docs.python.org/3/
- SQLAlchemy Documentation https://docs.sqlalchemy.org/en/20/
- Uvicorn Documentation https://www.uvicorn.org/

## Contributing

Suggestions and improvements are welcome. Feel free to open an issue or submit a pull request.

## License

This repository is licensed under the MIT License. See the LICENSE file for more details.