Skip to content
Snippets Groups Projects
Select Git revision
  • 6ae8cd27ea64153909fc5bddd79e79e6d322d1f3
  • master default protected
  • dreal-gestionnaires
  • preprod protected
  • prod protected
  • contradictoire
  • rename_men
  • per-h-archive
  • 1708-feat-instruction-ajoute-la-possibilite-de-voir-les-prochaines-etapes
  • prs-exploitant
  • a11y-ci
  • notifications
  • chore-image-snap
  • v0.125.0
  • v0.124.0
  • v0.123.0
  • v0.122.0
  • v0.121.0
  • v0.120.0
  • v0.119.0
  • v0.118.0
  • v0.117.0
  • v0.116.0
  • v0.115.0
  • v0.114.0
  • v0.113.0
  • v0.112.0
  • v0.111.0
  • v0.110.0
  • v0.109.0
  • v0.108.0
  • v0.107.0
  • v0.106.0
33 results

camino

user avatar
Francois Romain authored
6ae8cd27
History

Camino API

Build Status codecov Dependency Status

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


Technologies


Environnement

Pour que l'application fonctionne, sont requis:

  • Node.js (v.10 ou plus) et npm
  • Une base de données PostgreSQL (v.10 ou plus)

Configuration et imports des données

  • Cloner ce repo : git clone https://github.com/MTES-MCT/camino-api.git
  • Créer une base de données PostgreSQL nommée camino.
  • Renommer le fichier .env-example en .env et le compléter.

Installation

# installe les dépendances
npm install

# importe les données depuis /database/camino-public.sql
npm run db:import

# crée un utilisateur admin
npm run user-add

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 jest

Structure des fichiers

.
├── docs                 # `documentation et exemples`

├── 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`

├── sources              # `sources de la base de données au format json. Générées avec npm run import.`

└── 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