App is available at https://ministry-points.herokuapp.com/
The app is deployed on Heroku, using free dynos (lightweight, isolated Linux containers). They have a limit of 550 hours of activity per month. They sleep after 30 minutes of inactivity to preserve remaining free hours. Because of that the first opening of an app can be a bit slower. This issue was fixed by adding the credit card data on heroku account, which increased the limit to 1000h per month. The app is now pinged every 20 minutes via uptimerobot to keep it awake.
The Heroku app is linked to this GitHub repository and is updated after every change to the deploy branch.
Managing the deployed app (viewing logs, setting url etc.) is available through the Heroku account. To have the access, the account has to be added as a collaborator. The app ownership can also be trasfered to a chosen account (but a credit card data would have to be added if one wants the app to be always awake for free). If for some reason access cannot be granted, one could also fork this repository and link their own app to this fork.
To update the data, the repository access is required to modify the branches. Again, the repository ownership can be tranfered to a chosen account and if for some reason access cannot be granted, one could also fork this repository and link their own app to this fork.
If a new data is published it can be added to the app by:
- placing the .xlsx file here and setting the filename as wykaz_czasopism_DD-MM-YYYY.xlsx
- adding the entry with an url, date and title to the config
- running the build_db script to update the database
- pushing the changes to the deploy branch
The script assumes that the data format will be the same as in 09-02-2021 data. If the format changes, the new .xlsx file can be modified to fit the 09-02-2021 data format (for example by deleting any new columns and moving the records so that the data starts at the same cells as in 09-02-2021 file).
The data for monographs is scraped from given urls, so the necessary steps to update it are:
- adding the entry with an url, date and title to the config
- running the build_db script to update the database
- pushing the changes to the deploy branch
To run the app localy, one can pull the deploy branch and run the app.py script. The required packages can be installed via the pipenv install
command.