Skip to content

Web frontend for the Gramps genealogical research system

License

Notifications You must be signed in to change notification settings

SNoiraud/Gramps.js

 
 

Repository files navigation

Gramps.js

A single-page frontend for the Gramps Genealogical Research system.

About

This is a Javascript web app to browse a Gramps genealogy database that is powered by the Gramps Web API. The app is based on Open Web Components and LitElement.

(Its ancestor is the frontend of the legacy Gramps web app.)

Demo

A demo deployment based on the Gramps example family tree is available at https://davidmstraub.github.io/Gramps.js/.

Project status

The project is in active development but can already be used.

Please use Github issues for bug reports and feature requests. Contributions are welcome.

Development setup

Install Node.js with nvm:

nvm install 15.1.0

Clone the repository and, at its root run

npm install

to install dependencies.

A backend can be started with

python -m gramps_webapi --config path/to/config run --port 5555

(for details see https://github.com/gramps-project/gramps-webapi).

You can now run the frontend with

npm run start

Storybook (to view individual web components with needing to run a backend) is invoked with

npm run storybook

To build the frontend for deployment, run

npm run build

Deployment

To deploy this app, you need a running Gramps Web API instance.

There are two options for running the app:

  • Put the distribution (downloaded from a release or built following the above instrutions) on the server running the API and point the API's STATIC_PATH config option to the directory containing the distribution

  • Change the __APIHOST__ variable in the frontend distribution to the base URL of your API instance, build the frontend and host it on a separate web server. For this to work, it requires CORS to be enabled in the API.

About

Web frontend for the Gramps genealogical research system

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 89.2%
  • CSS 10.1%
  • HTML 0.7%