Example Application Interface using FastAPI framework in Python 3
This example showcases Repository Pattern in Hexagonal Architecture (also known as Clean Architecture). Here we have two Entities - Books and Authors, whose relationships have been exploited to create CRUD endpoint in REST under OpenAPI standard.
-
Install all the project dependency using Pipenv:
$ pipenv install --dev
-
Run the application from command prompt:
$ pipenv run uvicorn main:app --reload
-
You can also open a shell inside virtual environment:
$ pipenv shell
-
Open
localhost:8000/docsfor API Documentation -
Open
localhost:8000/graphqlfor GraphQL Documentation
Note: In case you are not able to access pipenv from you PATH locations, replace all instances of pipenv with python3 -m pipenv.
For Testing, unittest module is used for Test Suite and Assertion, whereas pytest is being used for Test Runner and Coverage Reporter.
- Run the following command to initiate test:
$ pipenv run pytest
- To include Coverage Reporting as well:
$ pipenv run pytest --cov-report xml --cov .
© MIT License