camino-api
v0.24.4
Published
Camino api
Downloads
1
Readme
Camino API
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 fichiercamino-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
Contribution
Voir contributing.md (en anglais) pour plus d'infos.
Crédits
Production
Équipe
- Guillaume Levieux, intrapreneur
- Joeffrey Arruyer, coach
- François Romain, développeur
- Adrien Risser, développeur
Licence
Camino API, le cadastre minier numérique ouvert