geoservice-persistence

Gedrowser Top Level

License

License

Categories

Categories

Geo Business Logic Libraries Geospatial
GroupId

GroupId

org.schoellerfamily.gedbrowser
ArtifactId

ArtifactId

geoservice-persistence
Last Version

Last Version

1.3.0-RC2
Release Date

Release Date

Type

Type

jar
Description

Description

geoservice-persistence
Gedrowser Top Level
Project URL

Project URL

http://www.schoellerfamily.org
Project Organization

Project Organization

Schoeller Family Software
Source Code Management

Source Code Management

https://github.com/dickschoeller/gedbrowser

Download geoservice-persistence

How to add to project

<!-- https://jarcasting.com/artifacts/org.schoellerfamily.gedbrowser/geoservice-persistence/ -->
<dependency>
    <groupId>org.schoellerfamily.gedbrowser</groupId>
    <artifactId>geoservice-persistence</artifactId>
    <version>1.3.0-RC2</version>
</dependency>
// https://jarcasting.com/artifacts/org.schoellerfamily.gedbrowser/geoservice-persistence/
implementation 'org.schoellerfamily.gedbrowser:geoservice-persistence:1.3.0-RC2'
// https://jarcasting.com/artifacts/org.schoellerfamily.gedbrowser/geoservice-persistence/
implementation ("org.schoellerfamily.gedbrowser:geoservice-persistence:1.3.0-RC2")
'org.schoellerfamily.gedbrowser:geoservice-persistence:jar:1.3.0-RC2'
<dependency org="org.schoellerfamily.gedbrowser" name="geoservice-persistence" rev="1.3.0-RC2">
  <artifact name="geoservice-persistence" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.schoellerfamily.gedbrowser', module='geoservice-persistence', version='1.3.0-RC2')
)
libraryDependencies += "org.schoellerfamily.gedbrowser" % "geoservice-persistence" % "1.3.0-RC2"
[org.schoellerfamily.gedbrowser/geoservice-persistence "1.3.0-RC2"]

Dependencies

compile (8)

Group / Artifact Type Version
org.schoellerfamily.gedbrowser : geoservice-common jar 1.3.0-RC2
de.grundid.opendatalab : geojson-jackson jar 1.14
com.google.maps : google-maps-services jar 0.2.11
org.springframework : spring-core jar 4.3.26.RELEASE
org.springframework : spring-context jar 4.3.26.RELEASE
org.springframework.data : spring-data-commons jar 1.13.23.RELEASE
commons-logging : commons-logging jar 1.2
org.slf4j : jcl-over-slf4j jar 1.7.30

test (2)

Group / Artifact Type Version
junit : junit jar 4.13
org.springframework : spring-test jar 4.3.26.RELEASE

Project Modules

There are no modules declared in this project.

gedbrowser

Build Status Coverage Status Code Climate codebeat badge Dependency Status Known Vulnerabilities Build Status

Spring Boot application to display the genealogy data from a GEDCOM file. Once loaded, the data is managed in a MongoDB database.

Check it out by perusing my genealogy database. You can browse the database anonymously, but you will need a login with the appropriate role to see living people.

Installing

The easist way to run is to directly run the Docker images.

Running with Docker requires running the MongoDB with Docker. The following commands allow you to do this without conflicting ports with a native MongoDB service. Note that these commands will conflict with a running native Tomcat server. Naturally, in order to this you have to install Docker.

The following steps follow after installing Docker and verifying that the service is running.

Create data directory for mongodb

mkdir ~/data

Create home directory for gedbrowser

mkdir /var/lib/gedbrowser

Put data files in home directory

cp *.ged /var/lib/gedbrowser

Prepare Google Geocoding and Google Maps Keys

You will have to go over to Google's developer site and get your own keys.

cat YOURGEOCODINGKEY > /var/lib/gedbrowser/google-geocoding-key
cat YOURGOOGLEMAPKEY >> /var/lib/gedbrowser/google-geocoding-key

Prepare your user file

The file sits in the gedbrowser home directory and is called userFile.csv. The format is:
username,first name,last name,email,password,role,role,...
The supported roles are USER and ADMIN.

emacs /var/lib/gedbrowser/userFile.csv

Assign environment variables

export DATA_DIR=~/data
export GEDBROWSER_HOME=/var/lib/gedbrowser

Run the 3 required applications

You start with MongoDB, then geoservice and then gedbrowser.

docker run --rm -v ${DATA_DIR}:/data/db --name mongo -p 28001:27017 -d mongo
docker run --link mongo:mongo -v ${GEDBROWSER_HOME}:/var/lib/gedbrowser -p  8086:8080 -p 8087:8081 --name geoservice -d dickschoeller/geoservice
docker run --link geoservice:geoservice --link mongo:mongo -v ${GEDBROWSER_HOME}:/var/lib/gedbrowser -p 8080:8080 -p 8081:8081 --name gedbrowser -d dickschoeller/gedbrowser

Once this is complete, gedbrowser should be up and running and reachable at port 8080 from your browser. See Docker documentation to change ports or to distribute the services across different hosts. See your webrowser documentation if you intend to run this behind a webserver.

As users refer to each of the GEDCOM files, they will be loaded into your instance of MongoDB. Subsequent access will be from the database and not from the GEDCOM file. There is a reload function on the management port if you wish to reset the database from the files.

Getting started developing

  • Prerequisites are a JDK, Maven, Git, and MongoDB
    • Optional Docker, which can be used to get MongoDB as well as to run gedbrowsser
    • IDE of your choice. We prefer Eclipse.
  • Follow the installation instruction regarding preparing the gedbrowser home directory
  • Clone this repository and cd into it
  • From the top 'mvn clean install'
  • java -jar gedbrowser/target/gedbrowser-1.3.0-RC3-SNAPSHOT.jar or run from your IDE

The location of gedbrowser.home defaults to /var/lib/gedbrowser. However that can be adjusted in the file application.yml. When running in Docker the data file can be redirected where you want from the run command.

You are now ready to try making changes and pull requests. 😄

Tooling and Development Operations

We are big fans of DevOps, tooling to automate as many processes as can be done. Take a look at our Development Operations wiki page to get an idea of what tools we are using, where we stand on their use and some ideas of how much further we have to go.

Technology

Architecture

TBD

License

Gedbrowser is Open Source software released under the Apache 2.0 license.

Versions

Version
1.3.0-RC2
1.3.0-RC1
1.3.0-M6
1.3.0-M5
1.3.0-M4
1.3.0-M3
1.2.2
1.2.1
1.2.0
1.1.3