Flask + SQLAlchemy + PostgreSQL REST API for C&C Wiki
This project was created using Poetry. Basically, its a really basic API wiki view for all the data related to C&C games. This is still WIP, so it may get some data updates soon.
Install poetry:
curl -sSL https://install.python-poetry.org | python3 -
Init repo:
poetry new candc-svc
Create the virtual env folder:
mkdir .venv
Install all the dependencies in the project (clean-state):
poetry install
Install any dependency you need:
poetry add lib_here
Remove a dependency you don't need:
poetry remove lib_here
Update all (updatable) libs
poetry update
Activate using the command:
source .venv/bin/activate
Exit virtual env:
exit
or
deactivate
For init db:
flask db init
Migrate:
flask db migrate
Confirm/apply in db:
flask db upgrade
Dev mode:
flask run
Prod run:
gunicorn --workers {# workers here} --bind 0.0.0.0:{port here} wsgi:app
pytest --cov
Run the server using the command on launch section Then open another console, activate the env and go to automation folder Once there run the tests using:
behave
You can see the console output with several features, scenarios and steps and its status as passed, failed or skipped.
If multiple python versions are found in the operative system, then
- use pyenv to handle the versions
- if needed set the local python for this project, like
pyenv local 3.12.1
- you can confirm all good by checking
pyenv which python
- set the specific python version like
poetry env use $USER_HOME/.pyenv/versions/3.12.1/bin/python
- then install using commands like the ones in the previous section
Using black
as code formatter
Can be used this way:
poetry run black .
Using mypy
for type checking
Can be used this way:
poetry run mypy app tests
http://{host}:{port}/apidocs
This app can be hosted in Railway, folder that helps with it is .ci
folder.
- Author - gal16v8d