camino-api

0.24.4 • Public • Published

Camino API

Build Status codecov Dependency Status

API GraphQL de Camino: api.camino.beta.gouv.fr


Technologies


Environnement

  • Node.js (v.10 ou plus) et npm
  • PostgreSQL (v.10 ou plus)

Configuration et imports des données

  • Cloner ce repo : git clone https://github.com/MTES-MCT/camino-api.git.
  • Renommer le fichier .env-example en .env et le compléter.
  • Créer une base de données PostgreSQL correspondant au fichier .env.
  • À l'intérieur du dossier /database, coller le fichier camino-public.sql disponible ici : Camino database.

Installation

# installe les dépendances 
npm install
 
# importe les données depuis /database/camino-public.sql 
npm run db:import-public
 
# crée un utilisateur admin 
npm run db:user

Développement

# démarre le serveur avec nodemon 
npm run dev

Production

# compile l'application avec typescript 
npm run build
 
# démarre le serveur 
npm run start

Tests

# lance les tests en local 
npm run dev:test

Structure des fichiers

.
├── knex                 # `scripts de création et d'import de la base de données (npm run migrate) 
│   ├── migrations       # `création de la base de données` 
│   └── seeds            # `import depuis les fichier /sources vers la base de données` 
├── manual               # `source de la documentation générée avec esdoc` 
└── src                  # `fichiers sources. Transformés avec npm run build.` 
    ├── index            # `point d'entrée` 
    │
    ├── api              # `API graphql` 
    │   ├── resolvers    # `liens entre l'API et la base de données` 
    │   ├── schemas      # `description des nœuds de l'API` 
    │   └── types        # `types graphQl customs` 
    │
    ├── config           # 
    │   ├── index        # `variables globales` 
    │   └── knex         # `connexion à la base de données` 
    │
    ├── database         # `base de données PostgreSQL` 
    │   ├── models       # `modèles de la base de données (knex.js / objection.js)` 
    │   └── queries      # `requêtes à la base de données (knex.js / objection.js)` 
    │
    ├── business         # `logique métier` 
    │   ├── processes    # `scripts de traitement` 
    │   ├── rules        # `lois et procédures administratives` 
    │   ├── utils        # `utilitaires de filtrage et de classement` 
    │   ├── daily        # `scripts de mise à jour quotidiens (npm run daily)` 
    │   ├── etape-update # `script effectués lors de la mise à jour d'une étape` 
    │   └── monthly      # `scripts de mise à jour mensuels (npm run monthly)` 
    │
    └── tools            # `outils` 
        ├── dev          # `outils de développement` 
        ├── export       # `exportation de la base de données vers des spreadsheets (npm run export)` 
        ├── import       # `import de spreadsheets vers des fichiers json dans /sources (npm run import)` 
        ├── api-...      # `connexion aux api externes` 
        └── emails-send  # `envoi d'email` 
 

PostgreSQL

camino database schema


Contribution

Voir contributing.md (en anglais) pour plus d'infos.


Crédits

Production

Équipe


Licence

Camino API, le cadastre minier numérique ouvert

AGPL 3 ou plus récent

Readme

Keywords

none

Package Sidebar

Install

npm i camino-api

Weekly Downloads

2

Version

0.24.4

License

AGPL-3.0-or-later

Unpacked Size

1.4 MB

Total Files

351

Last publish

Collaborators

  • francoisromain