Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/periodo/periodo-client
Client to browse and edit PeriodO data
https://github.com/periodo/periodo-client
gazetteer indexeddb javascript json-ld linked-data periodization react
Last synced: 5 days ago
JSON representation
Client to browse and edit PeriodO data
- Host: GitHub
- URL: https://github.com/periodo/periodo-client
- Owner: periodo
- License: other
- Created: 2014-06-17T19:02:35.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2024-10-17T13:37:45.000Z (22 days ago)
- Last Synced: 2024-10-19T10:06:46.642Z (20 days ago)
- Topics: gazetteer, indexeddb, javascript, json-ld, linked-data, periodization, react
- Language: JavaScript
- Homepage: https://client.perio.do
- Size: 78.9 MB
- Stars: 15
- Watchers: 8
- Forks: 2
- Open Issues: 31
-
Metadata Files:
- Readme: README.md
- License: COPYING
Awesome Lists containing this project
- awesome-starred - periodo/periodo-client - Client to browse and edit PeriodO data (react)
README
# PeriodO Client
A Web browser application for browsing and editing [PeriodO](http://perio.do/) data.
Compatible with all browsers that support ES2017 and IndexedDB. Safari has known issues complying with the latter, and we cannot guarantee that PeriodO supports it (as of March 2017).
[![client tests status](https://github.com/periodo/periodo-client/actions/workflows/run-tests.yml/badge.svg)](https://github.com/periodo/periodo-client/actions/workflows/run-tests.yml)
[![end-to-end tests status](https://github.com/periodo/periodo-client/actions/workflows/run-end-to-end-tests.yml/badge.svg)](https://github.com/periodo/periodo-client/actions/workflows/run-end-to-end-tests.yml)# Building
To build a standalone version of the client which can be run from a static web directory, run `make production`.
Run `make test` to run all tests. Because we use recent JavaScript features like `async`/`await` and object rest/spread, you must have Node 11+ installed.
# Layout of this project
This is an umbrella project for several distinct sub-projects ("modules"). Each of these smaller units are npm packages found in the `modules` folder. We manage dependencies between them with a tool called [Lerna](https://lernajs.io/). Look in those folders for documentation on each individal module.
# Development
Because browsers do not support IndexedDB for pages served from local file systems, during development, you will need to run a process that will serve the root directory over HTTP.
Once you have set up a server to serve the root directory, run `make watch` to rebuild the site during development. This will build the file `periodo-client.js` and rebuild it upon any changes to source files.
## Publishing a new version
To publish a new version, run the following commands:
```
npm version patch
make publish
```Replace `patch` with the type of release you want to make, according to [the docs for npm-version](https://docs.npmjs.com/cli/version) and the kind of change the new version is according to [semvar](https://docs.npmjs.com/misc/semver).
## Committing `package-lock.json`
Changes to `package-lock.json` should only ever be in a commit by themselves. Do not include changes to `package-lock.json` with commits that change other files.