recommended
- Docker
- Docker Compose
copy the file .example.variables.env to a file called .variables.env
Fill the key FEXSERVICE_GITHUB_TOKEN with your own Github access token.
At the same folder where docker-compose.yaml is located run:
docker-compose build --force-rmdocker-compose up --force-recreateNOTE you can also put a
-dat the end of previous command to run as a background daemon.
API is on: http://localhost:8000/docs
web UI is on: http://localhost:5500
You can access the console of the fexservice
docker-compose exec fexservice bash- Python3+
- Poetry
- A running instance of some SQL database (sqlite, postgres, mysql)
This are the required environment variables
-
FEXSERVICE_DATABASE_URL
e.g:
FEXSERVICE_DATABASE_URL=sqlite:///path/database.db -
FEXAPI_DATABASE_URL
e.g:
FEXAPI_DATABASE_URL=sqlite:///path/database.db -
FEXSERVICE_GITHUB_TOKEN
e.g:
FEXSERVICE_GITHUB_TOKEN="049854309jvfg8dg7df98gh7"
NOTE: You can put those variables in a file called
.envin the root folderthe same place wherepyproject.toml` is located.
NOTE 2: You can also set those values under each service
settings.tomlfile.
Within each package fexapi or fexservice:
poetry env use 3.8
poetry shell
poetry install
NOTE: In linux you can simply run
make clean-installthat make command will clean your local environment and install those needed environment.
Ensure your have either the database service running or that you are using
sqlite
Ensure you have configuration set.
This is the service that fetches data from github and stores data on database.
cd fexservice
poetry run fexserviceThis is the API served by FastAPI
cd fexapi
uvicorn fexapi.api:app --host=0.0.0.0This is the static website powered by Vue.js
cd fexui
python3 -m http.server 5500Towncrier has a few standard types of news fragments, signified by the file extension. These are:
.feature: Signifying a new feature.
.bugfix: Signifying a bug fix.
.doc: Signifying a documentation improvement.
.removal: Signifying a deprecation or removal of public API.
.misc: A ticket has been closed, but it is not of interest to users.
Example a 25.feature file, where 25 is the issue number and .feature and the type of issue, the issue commit goes inside the file. The version will be read from init within changes
in terminal:
towncrier --name packagename
Is it okay if I remove those files? [Y/n]: n