Pray intentionally, pray Scripturally, pray consistently.
An application that helps you connect with God.
Here are a few terms that we should be sure to use correctly in our issues to avoid confusion. They don't have to be shown to the end user. At least 'User Card' is a user unfriendly term.
A single prayer that has a category, title, description, version (of the bible), and scripture reference.
A Card that has been associated with a User and includes notes, whether it has been answered, whether the user has hidden the card and some statistical measures of usage.
The current collection of User Cards a user will be/is/has finished praying through. There is only one per user. The Cards will be swapped out for new ones when the user starts a new prayer. This uses Cards for an anonymous user.
A specific Prayer Deck that is generated programmatically with user options (like frequency, whether it has been answered or hidden...).
A collection of all User Cards for a particular user with a particular category. This would be Cards for an anonymous user.
The scripture reference on a Card needs to be in a fairly strict format. It can be a single verse, a range of verses, or a list of verses and/or ranges. The format is as follows:
John 3:16
John 3:16-18
or even John 3:16-4:18
John 3:16-18; JON 4:18; 1Jn 1:1-2:2
Joh 3:16-18; JON 4:18; 1Jn 1:1-2:2
jOh 3:16-18; JoN 4:18; 1jN 1:1-2:2
j 3:16-18; j 4:18; 1j 1:1-2:2
would be the same as Joshua 3:16-18; Joshua 4:18; 1John 1:1-2:2
1John 1:1-2:2
is the same as 1 John 1:1-2:2
Dependencies:
pip install poetry
)On Debian-based systems, you may need to install libsqlite3-dev and either reinstall or recompile Python to avoid
_sqlite3
module errors
I recommend pyenv to manage python versions separate from the system.
We are using Poetry to manage dependencies and the virtual environment.
Run the following to seed the database and run the application server & frontend:
# install dependencies
poetry install --no-root
poetry run python manage.py migrate
poetry run python manage.py load_bible eng net
poetry run python manage.py load_bible spa RV1909
poetry run python manage.py load_cards
poetry run python manage.py createsuperuser
poetry run python manage.py runserver
If you want to be able to generate the database ERD, you'll need to install Graphviz: https://pygraphviz.github.io/documentation/stable/install.html
then run:
poetry install --no-root --with pygraphviz
poetry run python manage.py graph_models -o erd.png
The application is deployed to a fedora server using the following steps:
ansible-playbook ansible/deploy.yaml -i "(server hostname or IP)," --ask-become-pass