Spondy News is a content aggregator for all the latest news, research, and events for those suffering with Axial Spondyloarthritis (axSpA).
All the latest news, research, and events for those suffering with Axial Spondyloarthritis (axSpA).
It is a chronic inflammatory disease that includes radiographic (Ankylosing Spondylitis) and non-radiographic (nr-axSpA) forms. It is a rheumatic inflammatory disease primarily affecting the spine and sacroiliac joints.
You can learn more about Ankylosing Spondylitis specifically on my blog. And more about the general class of diseases on spondylitis.org.
Spondy News is an open-source project, and as such, any help in improving user experience is appreciated. A few things to consider if you’d like to contribute:
main
branch. Once you’ve discussed your issue and forked the repo, create a branch specifically for your PR. Black
before submitting. Once forked, create yourself a virtual environment and pip install
the dependancies from requirements-dev.txt
file. The project uses Python 3.9 (recommended), but any version of Python that Django 3.1 supports should work.
Secrets for this application are stored in environment variables. For local development you should create a .env
file containing the SECRET_KEY
and optionally, DEBUG
.
# create a new random secret key
$ python -c "from django.core.management.utils import get_random_secret_key; print(get_random_secret_key())"
# create your .env file
$ touch spondy_news/.env
# In spondy_news/.env
SECRET_KEY=mynewsecretkey # note: there are no quotes
DEBUG=True
Once dependancies are installed and you have your .env
setup, run the Django migrations and create a superuser account:
$ python manage.py migrate
$ python manage.py migrate aggregator
$ python manage.py createsuperuser # Then follow instructions
This app uses whitenoise
to serve static files, so be sure to run python manage.py collectstatic
before you start the server.
Start the server with python manage.py runserver
. You should be now able to navigate to 127.0.0.1:8000
to see the site. The Django admin can be found at admin/
.
This project uses a custom django command to run RSS feed parsing jobs on a schedule. These are blocking tasks and it needs to be run in a seperate process (terminal window). You can register the jobs and start the scheduling process in a seperate terminal:
$ python manage.py startjobs
These jobs can also be ran manually from the Django admin, once registered.
pytest
is the testing framework chosen for this project. It is included as a dev dependancy, so to run the test suite all you need to do is run:
$ pytest
That’s it!
If you would like to show your support for the project using your wallet/purse, I would be very grateful if you would donate to a charity close to my heart, Walk AS One.
And if you would prefer to donate to me personally instead, you can sponsor me on Github or buy me a Ko-Fi? 🤓
Cheers!