Browse Roman Catholic liturgical calendar through a web interface or obtain it's data in JSON format through an API.
Powered by calendarium-romanum and grape.
Church Calendar API is a more or less RESTful read-only JSON API.
API documentation with URI examples and live links to API endpoints: http://calapi.inadiutorium.cz/api-doc
Make sure you have Docker installed, then run:
docker-compose up
If you need to work on the calendarium-romanum
gem locally you can do so in the following way:
- Clone down the
calendarium-romanum
app:
git clone git@github.com:Lumen-de-Lumine/calendarium-romanum.git calendarium-romanum
- Update the following lines in the
docker-compose.yml
# - ./calendarium-romanum:/home/app/webapp/calendarium-romanum
# - .bundle_config:/home/app/webapp/.bundle/config
- Modify the source of the
calendarium-romanum
and then restart viadocker-compose restart
In short what the above does is the equivalent of running the following:
bundle config --local local.calendarium-romanum /path/to/calendarium-romanum
which allows for local gem modification without modifying the Gemfile
or Gemfile.lock
(read more about this here if desired)
The application works as is, you only need to create a new application in your Heroku dashboard and push the code.
Typical reasons for running your own instance include:
- availability/reliability requirements (the reference instance is self-hosted by the author and only maintained as free time permits; it may be terminated at any time)
- very high traffic expected
- custom calendar data that cannot be released as open-source (e.g. because it is copyrighted by the diocese)
- required control over data and algorithm updates (the reference instance is updated without prior notice)
$ rake test
In order to add a new calendar:
- put it's data file(s) in the
data
directory - create a new record in
config/calendars.yml
The standard release command for this project is:
npm version [<newversion> | major | minor | patch | premajor | preminor | prepatch | prerelease | from-git]
This command will:
- Generate/update the Changelog
- Bump the package version
- Tag & pushing the commit
e.g.
npm version 1.2.17
npm version patch // 1.2.17 -> 1.2.18
GNU/LGPL 3 or later