Giter Site home page Giter Site logo

cwatersaudio / dailyoffice2019 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from blocher/dailyoffice2019

1.0 0.0 0.0 364.23 MB

This project is used to build the website https://www.dailyoffice2019.com. The site invites you to join with Christians around the world in praying with the Church, at any time or in any place you may find yourself. It makes it easy to pray daily morning, midday, evening, and compline (bedtime) prayer without flipping pages, searching for scripture

Home Page: https://www.dailyoffice2019.com

License: MIT License

Shell 0.02% JavaScript 77.10% Ruby 0.02% Python 11.80% Java 0.04% TypeScript 0.21% CSS 0.08% Swift 0.10% Makefile 0.01% HTML 7.66% Vue 2.55% SCSS 0.41%

dailyoffice2019's Introduction

Daily Office, Book of Common Prayer 2019 (https://www.dailyoffice2019.com)

This project is used to build the website https://www.dailyoffice2019.com. It is a Django application written in Python (to be installed in a development environment). It is used to produce a static html and javascript site which can then be deployed to the production environment.

WHAT IS THE SITE FOR?

The site invites you to join with Christians around the world in praying with the Church, at any time or in any place you may find yourself. It makes it easy to pray daily morning, midday, evening, and compline (bedtime) prayer without flipping pages, searching for scripture readings or calendars, or interpreting rubrics. The prayers are presented from The Book of Common Prayer (2019) of the Anglican Church in North America and reflect the ancient patterns of daily prayer Christians have used since the earliest days of the church.

WHAT IS THE DAILY OFFICE?

Daily Morning Prayer and Daily Evening Prayer are the established rites (offices) by which, both corporately and individually, God’s people annually encounter the whole of the Holy Scriptures, daily confess their sins and praise Almighty God, and offer timely thanksgivings, petitions, and intercessions.

Contributing

Pull requests are welcome. Take a look at the issues and see where you might help out. Updates to documentation and tests (both of which are largely missing) are also welcome.

Requirements

  • Python 3.7 (other 3.x may work)
  • Node with npx
  • Yarn
  • PostgreSQL

Setting up a development environment

Clone project

  • Clone or fork the project from https://github.com/blocher/dailyoffice2019
  • cd dailyoffice2019

Import database

  • Connect to Postgres sudo psql -d postgres
  • Create database create database dailyoffice;
  • Create usercreate user dailyoffice with password 'password';
  • Grant permissions grant all privileges on database dailyoffice to dailyoffice;
  • Exit postgres \q
  • Import psql -U dailyoffice dailyoffice < site/dailyoffice_2020_01_12.sql

ALTERNATE: You may import the data into a clean database using the provided import Django management commands

Setup up python environment

  • Create a Python virtual environment python3 -m venv env
  • Load virtual environment source env/bin/activate
  • Install Python Requirements pip install -r requirements.txt

Setup up Javascript environment

  • cd site
  • Install JavaScript Requirements yarn install
  • Bundle Javascript and CSS npx webpack --watch

Run development server (in separate terminal)

  • Collect static assets python manage.py collectstatic
  • Start development server python manage.py runserver
  • The site will be accessible locally at http://127.0.0.1:8000

Generate static site and deploy

  • Set the DEBUG setting to False in site\website\settings.py
  • Run python manage.py collectstatic from the site directory
  • Run python manage.py distill-local from the site directory. This builds a static copy of the site in the static_export directory
  • Run netlfy deploy --prod from static_export directory (must be done by site owner that has Netlify credentials)

Code formatting standard

  • Please use black to format code with a line length of 119 beore submitting a pull request
  • find . -iname "*.py" | xargs black --target-version=py37 --line-length=119 from the site directory

Quick overview

The application is built around several Django "apps". The most important are:

  • website: This is the base site. All settings are defined in website\settings.py and all paths are defined in website\routes.py. Start here.
  • office: This is where the bulk of the work is down to generate each Office.
  • churchcal: This is used to build the church calendar. It currently supports both the Anglican Church in North America and the Episcopal Church calendars (though only ACNA is currently used for this project)
  • bible: This is used to retrieve bible passages from various sources (currently only Bible Gateway, but others such as the ESV API are coming soon)
  • psalter: This is used to retrieve passages from the Psalms (currently only the renewed Coverdale translation in the Book of Common Prayer 2019)

NOTE: churchcal, bible, and psalter apps may be spun off as separate projects soon and added as dependencies to this project

Submitting Issues and Contact

dailyoffice2019's People

Contributors

blocher avatar engageben avatar dependabot[bot] avatar pmads1376 avatar

Stargazers

Chris Waters avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.