wolkenkit-geocaching is a simple geocaching application for hiding and finding geocaches in the world!
It was developed as a playground with wolkenkit, react, redux and ❤️.
wolkenkit is a CQRS and event-sourcing framework for JavaScript and Node.js. wolkenkit uses an event-driven model based on DDD to setup an API for your business in no time. This way, wolkenkit bridges the language gap between your domain and technology.
For more details on wolkenkit see the wolkenkit documentation.
See the wolkenkit installation guide for macOS, Linux, Windows, or Docker Machine.
As wolkenkit-geocaching uses some public APIs you have to add some API keys and other configurations inside the file .env placed in the client directory.
REACT_APP_GOOGLE_GEOCODING_API_KEY=<google geocoding api-key>
REACT_APP_GOOGLE_MAPS_API_KEY=<google maps api-key>
REACT_APP_WOLKENKIT_IDENTITY_PROVIDER_URL=<identity provider url>
REACT_APP_WOLKENKIT_CLIENT_ID=<client id>
Afterwards add the API key to the .env file in the client directory.
Get a Google Maps Geocoding API key
Afterwards add the API key to the .env file in the client directory.
As wolkenkit uses authentication you have to configure an identity provider like Auth0.
To configure it, you have to follow these steps:
- Login to Auth0. If you don't have an account, register first.
- Navigate to
Clients => Create Clientchoose a name and selectSingle Page Applicationsas a client type. - Click on the
Settingstab and addhttp://localhost:3000toAllowed Callback URLs - Add the
Client IDto the.envfile in theclientdirectory. - Scroll to the bottom of the page and click on
Show Advanced Settings. - Click on the
Certificatestab, copy theSigning Certificateand add it to/server/keys/auth0/certificate.pem. - Add your identity provider URL to the
package.jsonat the keywolkenkit.environments.default.identiyProvider.name. It has the structurehttps://<identityProviderName>.eu.auth0.com/
For the wolkenkit backend:
$ npm installFor the client:
$ cd client
$ npm installStarting the backend:
$ wolkenkit startStarting the client:
$ cd client
$ npm startCopyright © 2017-2018 René Viering.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see GNU Licenses.