kirchen-im-web.de - Directory of Churchy Websites and Social Network Pages
We want to show that many parishes, regional churches and dioceses do a good job in public relations and present those with their websites and social network pages at a map and tabularly. kirchen-im-web.de also compares the follower numbers of the social media pages.
Our Project is oecumenic, i. e. regardless whether Protestants, Catholic or free church - all can participate. You can simply add your church using our form.
The latest development version is online at test.kirchen-im-web.de.
- map with all churches which can be filtered according to denomination and network
- table with filtering according to name, postal code, city, country, denomination, type, network
- details page for every church showing all websites and networks, map and church hierarchy
- form to add new churches
- statistics and downloadable open data
- available in English and German
Link check and follower update
- checks whether the listed websites are still online
- and updates the follower count of the listed social media accounts.
Non-public pages can be excluded via
followerStatus = 2.
followerStatus = 0 means that the last follower update failed.
kirchen-im-web.de offers the data via a public API at
https://kirchen-im-web.de/api/ which returns all the data on the selected churches in JSON format. Even if there is only one result for the query, the data is returned as a list.
Per default, the whole data is returned in JSON. Parameters can be used to reduce the number of entries which are returned.
Example: A call to
https://kirchen-im-web.de/api/churches/?name=test only returns data of the churches whose name contains the string
ids(optional): entry ids (multiple ids can be separated by comma)
parent(optional): only children of the given parent id (
optionsallow to include the parent itself and grandchildren)
name(optional): the substring of the name
postalCode(optional): the postal code
city(optional): the substring of the city
country(optional): the country code (e. g.
DEfor Germany). Possible values: see
$countriesvariable in the configuration file
denomination(optional): the denomination. Possible values: see
$denominationsvariable in the configuration file
type(optional): the type. Possible values: see
$typesvariable in the configuration file
hasWebsiteType(optional): the website type. Possible values: see
$websitesvariable in the configuration file
parentis given and
childrenRecursive, the grandchildren are also included in the response.
parentis given and
includeSelf, the parent is included in the response.
The data of the church with the given id is returned in JSON. The entry id is the number in the URL of the details page.
Returns the (direct) children of the church with the given id in JSON.
How to develop
- Clone the Git repository.
- Install the dependencies via
composer install(this includes
composer devto automatically compile
*.min.jswhenever the file is changed.
- Create a database and create the tables with
- Create a
config/config.phpwith the database credentials and valid API keys/secrets (cp.
Code Style Guidelines
- CSS: recommended configuration for stylelint
npm run csCSSto run a check for compliance with the guidelines
npm run fixCSSapplies fixes for violations automatically.
checked by eslint
npm run csJSto run a check for compliance with the guidelines
npm run fixJSapplies fixes for violations automatically.
- PHP: PSR12
composer csPHPto run a check for compliance with the guidelines
composer fixPHPapplies fixes for violations automatically.
To run all checks, use
Used programming languages and libraries
- HTML5 and CSS 3.0, based on Bootstrap 4
- PHP with libraries Instagram PHP Scraper, OpenCage API Slim, Symphony Translations, Twig and twitter-api-php
How to deploy
- Upload the following to the production server:
- the directories
- the files
- the directories
- Create empty directories