Skip to content

Latest commit

 

History

History
53 lines (34 loc) · 2.21 KB

README.md

File metadata and controls

53 lines (34 loc) · 2.21 KB

API POP

CircleCI

L'API de la Plateforme Ouverte du Patrimoine. Elle fournit un accès aux données à POP Consultation et POP Production. Elle est développée en Javascript, utilise le framework Express et une base de données MongoDB. La recherche de données est rendue possible grâce à Elasticsearch.

Installation

MongoDB, NodeJS 10+ et Yarn doivent être installés pour faire fonctionner l'application. Elasticsearch n'est pas nécessaire sur l'environnement de développement.

git clone https://github.com/betagouv/pop-api.git
cd pop-api
yarn

Utilisation

Développement local

Lancer la commande yarn dev pour accéder à l'application via l'URL http://localhost:3000.

Déploiement

Utiliser yarn deploy:staging ou deploy:staging en fonction de l'environnement souhaité.

Documentation base de données

La base de données est documentée ici et peut être générée avec la commande yarn export-db-schemas.

Elasticsearch

Ré-indexation

La modification des mappings nécessite une ré-indexation, qu'on peut lancer avec la commande node src/elasticsearch/reindex.js. Cette opération utilise les mappings présents dans src/elasticsearch/indices.

En staging ou en production, préciser les variables d'environnements :

AWS_ACCESS_KEY_ID=x AWS_SECRET_ACCESS_KEY=y ES_ENDPOINT=z node src/elasticsearch/reindex.js

Synchronisation depuis MongoDB

Utiliser la commande node src/elasticsearch/sync.js pour mettre à jour (ou créer si elles n'existent pas) l'ensemble des notices depuis MongoDB vers Elasticsearch.

En staging ou en production, préciser les variables d'environnements sans oublier MongoDB (DB_ENDPOINT) :

AWS_ACCESS_KEY_ID=x AWS_SECRET_ACCESS_KEY=y ES_ENDPOINT=z DB_ENDPOINT=m node src/elasticsearch/sync.js