https://github.com/asadhasan/fastapi-projections-service
Playing with FastAPI by creating an investment projections service (using Nutmeg's calculator to actually calculate the projections)
https://github.com/asadhasan/fastapi-projections-service
bandit black codecov codeql dependabot docker-compose fastapi flake8 github-actions heroku isort mypy nginx-unit openapi owasp-zap pre-commit pydantic pytest python3 requests
Last synced: 5 months ago
JSON representation
Playing with FastAPI by creating an investment projections service (using Nutmeg's calculator to actually calculate the projections)
- Host: GitHub
- URL: https://github.com/asadhasan/fastapi-projections-service
- Owner: AsadHasan
- License: mit
- Created: 2021-02-12T18:40:44.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2023-01-24T04:08:57.000Z (over 3 years ago)
- Last Synced: 2025-04-07T21:51:39.664Z (about 1 year ago)
- Topics: bandit, black, codecov, codeql, dependabot, docker-compose, fastapi, flake8, github-actions, heroku, isort, mypy, nginx-unit, openapi, owasp-zap, pre-commit, pydantic, pytest, python3, requests
- Language: Python
- Homepage:
- Size: 112 KB
- Stars: 0
- Watchers: 2
- Forks: 1
- Open Issues: 19
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README

[](https://codecov.io/gh/AsadHasan/fastapi-projections-service)
# FastAPI projections service
Playing with FastAPI, by creating a _very over-simplified_ investment projections service (with projections calculated by [Nutmeg's calculator](https://try.nutmeg.com/)), deployed on Heroku, as part of GitHub Actions CD pipeline; and Docker image also pushed to GitHub packages.
## Projections service usage documentation
1. [Swagger UI](https://fastapi-projections-service.herokuapp.com/docs)
2. [Redoc](https://fastapi-projections-service.herokuapp.com/redoc)
## Dev tooling and QA measures used
### Tests
1. Unit and integration tests: Executed on Push and PRs, before Docker image is built. Code coverage measured by Codecov.
2. End to end test: Executed on Push and PRs, _after_ Docker image is built, and _before_ it is pushed to GitHub packages; and then once again _after_ Docker image is tagged and pushed to Heroku and service deployed.
3. OWASP API security scan: Executed on Push and PRs, after end-to-end test has run.
### Dependency updates
PRs opened for dependency updates by Dependabot Bot and those PRs auto-merged after successful CI checks by Mergify.
### Static code analysis
Codeql and OSSAR scans, via GitHub Actions, on Push and PRs.
### Pre commit checks
Following checks/scans made by Pre-commit: Pylint, Flake8, Black, Mypy and isort.
### CI and CD
GitHub Actions and Heroku