|
| 1 | +<p align="center"> |
| 2 | + <a href="https://github.com/nickatnight/fastapi-backend-base/actions"> |
| 3 | + <img alt="GitHub Actions status" src="https://github.com/nickatnight/fastapi-backend-base/actions/workflows/main.yml/badge.svg"> |
| 4 | + </a> |
| 5 | +</p> |
| 6 | + |
| 7 | + |
1 | 8 | # fastapi-backend-base |
2 | 9 |
|
3 | 10 | Small base project to build and deploy a fastapi backend..batteries included. |
4 | 11 |
|
5 | | -## Services |
6 | | -* high performance [FastAPI](https://fastapi.tiangolo.com/) backend |
7 | | -* asynchronous access to key/value [database](https://motor.readthedocs.io/en/stable/) |
8 | | -* [nginx](https://www.nginx.com/blog/lets-encrypt-tls-nginx/) webserver/proxy with automatic ssl cert renewal |
| 12 | +## Features |
| 13 | +* **Docker Compose** integration and optimization for local development. |
| 14 | +* **Production ready** Python web server using Uvicorn |
| 15 | +* Python <a href="https://github.com/tiangolo/fastapi" class="external-link" target="_blank">**FastAPI**</a> backend: |
| 16 | + * **Fast**: Very high performance, on par with **NodeJS** and **Go** (thanks to Starlette and Pydantic). |
| 17 | + * **Intuitive**: Great editor support. <abbr title="also known as auto-complete, autocompletion, IntelliSense">Completion</abbr> everywhere. Less time debugging. |
| 18 | + * **Easy**: Designed to be easy to use and learn. Less time reading docs. |
| 19 | + * **Short**: Minimize code duplication. Multiple features from each parameter declaration. |
| 20 | + * **Robust**: Get production-ready code. With automatic interactive documentation. |
| 21 | + * **Standards-based**: Based on (and fully compatible with) the open standards for APIs: <a href="https://github.com/OAI/OpenAPI-Specification" class="external-link" target="_blank">OpenAPI</a> and <a href="http://json-schema.org/" class="external-link" target="_blank">JSON Schema</a>. |
| 22 | + * <a href="https://fastapi.tiangolo.com/features/" class="external-link" target="_blank">**Many other features**</a> including automatic validation, serialization, interactive documentation, authentication with OAuth2 JWT tokens, etc. |
| 23 | +* **SQLAlchemy** models |
| 24 | +* **CORS** (Cross Origin Resource Sharing). |
| 25 | +* **NGINX** High Performance Load Balancer, Web Server, & Reverse Proxy |
| 26 | +* **Let's Encrypt** A free, automated, and open certificate authority (CA), provided by the Internet Security Research Group (ISRG)...with automatic cert renewal. |
| 27 | +* **MongoDB** General purpose, document-based, distributed database built for modern application developers. |
| 28 | +* **Motor** Coroutine-based API for non-blocking access to MongoDB |
| 29 | +* Request rate limiting for api routes. |
| 30 | + |
9 | 31 |
|
10 | 32 | ## Usage |
11 | 33 | 1. `git clone https://github.com/nickatnight/fastapi-backend-base.git` |
|
0 commit comments