Drag Queens Collection API made using Python 3 and in FastAPI.
Main focus of this project was:
- create fast and easy REST API based on previously prepared api documentation (OpenApi standard)
- deploy and provide API for frontend team to play with it
Application was created in two versions:
- v1.0.0 - basic application, uses in-memory "database" with no authorization nor authentication
- v2.1.0 - deployed to Deta Space with data storage (NoSQL database), authorization and authentication implemented using JWT
- Python
- FastAPI
- Uvicorn
- PyJWT
- bcrypt
- Deta (deploy)
Original API documentation is located in /docs folder.
API documentation:
API documentation:
https://queensapiv21-1-z9994616.deta.app/docs
In order to run the project locally, you need to have Python 3 installed.
Each project folder app_v1
and app_v2
should be treated as separate microservice.
- Clone repository:
git clone https://github.com/nataliacza/queens-basic-api
-
Create virtual environment for each microservice
app_v1
andapp_v2
: instruction. Project was build using Poetry. -
Install dependencies:
(while being in folder app_v1 or app_v2)
pip install -r requirements.txt
For Poetry:
poetry install
-
For
app_v2
create in main project folder a new file.env
, copy data from.env-example
file and fill with variables. -
Run application on your local machine:
uvicorn main:app --port 8000
- Go to application API docs:
http://127.0.0.1:8000/docs