------------------------------------
_ _ _ _ _
(_) | | (_) | | |
_ ___ | |_ _| |__ _ _ _ __ | |_
| |/ _ \| __| | '_ \| | | | '_ \| __|
| | (_) | |_| | | | | |_| | | | | |_
| |\___/ \__|_|_| |_|\__,_|_| |_|\__|
_/ |
|__/
------------------------------------
In 2016 heeft de Scouting Roothaangroep besloten op de Jotihunt site en de Jotihunt Android app (https://play.google.com/store/apps/details?id=org.roothaan.jotihunt) beschikbaar te stellen aan alle groepen die meedoen.
Groepen zijn welkom om via de Roothaan in de gehoste versie mee te doen (zodat er geen hosting of setup nodig is) of zelf met deze code een prive site op te zetten.
- BitBucket (/Github) - Git source control
- Heroku - Cloud hosting ("Platform as a service")
- PHP (7)/Apache - Applicatie technologie
- PostgreSQL - Database
- Codeship - Continues integration
- Cloud 9 - Cloud PHP IDE / testing
- Heroku Postgres
- Logentries (TryIt)
- Mailgun (Starter)
- New Relic APM (Wayne)
- Proximo (Starter)
De Jotihunt site vereist een Postgres database en een Apache/PHP7 omgeving.
Er zijn twee manieren op de site te configeren.
- Via "environment variables"
Hieronder staan alle verschillende ondersteunde variabelen.
- Via het
config/user.ini
bestand
Zie config/user.ini.example
voor voorbeelden. Kopieer dit naar naar config/user.ini
(deze wordt vervolgens door de code automatisch opgepikt.
DATABASE_URL
Dit moet in Postgres formaat: postgres://username:password@hostname:port/database-name
DATABASE_OPTIONS
Voor Heroku: sslmode=require options='--client_encoding=UTF8'
GOOGLE_JS_API_KEY
GOOGLE_ANALYTICS_KEY
GOOGLE_GCM_API_KEY
GOOGLE_GCM_DEBUG_KEY
Google GCM wordt gebruikt om notificaties naar de Android app te sturen.
Mailgun is een gratis dienst om e-mail te versturen.
MAILGUN_API_KEY
MAINGUN_API_DOMAIN
MAILGUN_FROM_EMAIL
Promino is een service waardoor je gegarandeerd een vast IP naar buiten na gebruikt.
Dit is handig als in een cloud dienst (Amazon, Heroku) toch een vast IP (voor Google GCM bijvoorbeeld) nodig hebt.
PROXIMO_USER
PROXIMO_PASS
PROXIMO_HOST
PROXY_SERVER_PORT
Bijvoorbeeld 8443
PROXY_BASE_URL
Bijvoorbeeld /forwarded
SITE_SHOW_ERRORS
Dit is een boolean
waarde ((1
/true
of 0
/false
).
Standaard staan de errors uit.
DEV_MODE
Dit is een boolean
waarde ((1
/true
of 0
/false
).
Als deze aanstaat is het mogelijk om:
- API calls te doen met een ingelogde user
- Testen uit te voeren (/test)
- De Google maps kaart toont een dummy hunter
API_TOKEN
Te verkrijgen via https://jotihunt.net/subscription/apikey, wordt gebruikt om de scorelijst mee in te laden.
REDIRECT_TO_HTTPS
Forceert het gebruik van https door een 301 redirect to sturen in het geval van http URLs.
SITE_TITLE
Wordt gebruikt in het title element als titel van de site
SITE_DESCRIPTION
Wordt gebruikt in het description element als SEO omschrijving van de site
SITE_KEYWORDS
Wordt gebruikt in het keywords element als SEO omschrijving van de site
WELCOME_MESSAGE
Dit is het bericht dat op de homepage wordt getoond.
Dit mag HTML bevatten. Hier "moet" ook de header (h1) in gezet worden.
Om in Cloud9 van de "oude" PHP naar de nieuwe over te stappen, zijn de volgende stappen nodig (handleiding gebaseerd op https://community.c9.io/t/laravel-5-3-installation-on-cloud9/9038).
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install libapache2-mod-php7.0
sudo a2dismod php5
sudo a2enmod php7.0
sudo apt-get install php7.0-curl
sudo apt-get install php7.0-pgsql
sudo apt-get install php7.0-xml
service apache2 restart
sudo apt-get install php7.0-dom
sudo apt-get install php7.0-mbstring
sudo apt-get install php7.0-zip
Je kan natuurlijk ook dit automatisch doen:
./non-web/update-to-php7.sh
De site gebruikt composer
als PHP Dependency manager.
Om deze te installeren volg https://getcomposer.org/download/:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '669656bab3166a7aff8a7506b8cb2d1c292f042046c5a994c43155c0be6190fa0355160742ab2e1c88d40d5be660b410') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
Voor het gemak is de laatste versie ook in de repo opgenomen:
./non-web/install-composer.sh
Als deze geupdate moet worden of nieuwe dependencies gedownload, run dan
php composer.phar update
Of:
./non-web/composer-updater.sh
Ben jij een (PHP of Android) ontwikkelaar, of wil je een nieuwe app (IOS?) maken met de data uit je eigen Jotihunt site? Dat kan!
De site bied alle data ook via een REST API aan (deze gebruikt de Android app bijvoorbeeld). De documentatie hiervoor staat op http://docs.jotihunt.apiary.io/.