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 Client
choose a name and selectSingle Page Applications
as a client type. - Click on the
Settings
tab and addhttp://localhost:3000
toAllowed Callback URLs
- Add the
Client ID
to the.env
file in theclient
directory. - Scroll to the bottom of the page and click on
Show Advanced Settings
. - Click on the
Certificates
tab, copy theSigning Certificate
and add it to/server/keys/auth0/certificate.pem
. - Add your identity provider URL to the
package.json
at the keywolkenkit.environments.default.identiyProvider.name
. It has the structurehttps://<identityProviderName>.eu.auth0.com/
For the wolkenkit backend:
$ npm install
For the client:
$ cd client
$ npm install
Starting the backend:
$ wolkenkit start
Starting the client:
$ cd client
$ npm start
Copyright © 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.