2020-06-15 14:58:59 +02:00
# Daddy
Application de gestion des Dossiers d'Aide à la Décision (D.A.D.) à Cadoles.
## Démarrage
### Avec les sources
#### Dépendances
- docker
- docker-compose
- nodejs avec npm/yarn
#### Procédure
```bash
git clone https://forge.cadoles.com/Cadoles/daddy.git # Cloner le projet
cd daddy # Se placer dans le répertoire
2020-07-13 12:01:20 +02:00
make clean # On s'assure d'avoir un environnement propre
make deps # Installer les dépendances
2020-07-10 18:07:41 +02:00
make up # Démarrer l'environnement docker-compose (hydra, hydra-passwordless et fake-smtp)
# Dans un second terminal
make watch # Suivre les modifications et compiler à la volée le backend et frontend
2020-06-15 14:58:59 +02:00
```
Les services suivants devraient être disponibles après démarrage de l'environnement:
|Service|Type|Accès|Description|
|-------|----|-----|-----------|
2020-07-10 18:07:41 +02:00
|Application React|HTTP (UI)|http://localhost:8080/|Page d'accueil de l'application React (serveur Webpack)|
2020-07-13 09:20:14 +02:00
|Interface Web GraphQL|HTTP (UI)|http://localhost:8081/api/v1/graphql (GET)|Interface Web de développement de l'API GraphQL (mode debug uniquement, nécessite d'être authentifié)|
|Serveur GraphQL|HTTP (GraphQL)|http://localhost:8081/api/v1/graphql (POST)|Point d'entrée de l'API GraphQL|
2020-06-18 09:34:22 +02:00
|Serveur Hydra|HTTP (ReST)|http://localhost:4444|Point d'entrée pour l'API OAuth2 d'[Hydra](https://www.ory.sh/hydra/docs/)|
|Serveur Hydra Passwordless|HTTP|http://localhost:3000|Point d'entrée pour la ["Login/Consent App" ](https://www.ory.sh/hydra/docs/implementing-consent ) [hydra-passwordless ](https://forge.cadoles.com/wpetit/hydra-passwordless )|
|Serveur FakeSMTP|HTTP|http://localhost:8082|Interface web du serveur [FakeSMTP ](https://forge.cadoles.com/wpetit/fake-smtp )
2020-06-15 14:58:59 +02:00
|Serveur PostgreSQL|TCP/IP (PostgreSQL)|`127.0.0.1:5432`|Port de connexion à la base de données PostgreSQL de développement|
#### Fichiers/répertoires notables
2020-06-15 15:04:06 +02:00
|Chemin|Description|
2020-06-15 14:58:59 +02:00
|------------------|-----------|
|`docker-compose.yml`|Configuration de l'environnement Docker Compose|
2020-07-13 12:01:20 +02:00
|`client/src`|Sources du frontend ([React](https://reactjs.org))|
2020-06-15 14:58:59 +02:00
#### Commandes utiles
2020-06-15 15:04:06 +02:00
|Commande|Description|
|--------|-----------|
2020-07-13 12:01:20 +02:00
|`make up`|Démarrer l'environnement Docker Compose, `Ctrl+C` pour le stopper.|
|`make down`|Stopper et supprimer l'environnement Docker Compose.|
|`make watch`|Suerveiller les sources et recompiler à la volée le client/server.|
2020-06-15 15:04:06 +02:00
|`make db-shell`|Ouvrir une console `psql` sur la base de données de développement.|
2020-07-13 12:01:20 +02:00
|`make hydra-shell`|Ouvrir un shell interactif dans le conteneur Hydra. (`hydra --help` pour voir les commandes disponibles pour l'administration)|
|`make migrate-latest`|Migrer la base de données à la dernière version disponible du schéma.|
|`make migrate-down`|Migrer la base de données à la version précédente du schéma.|
|`make migrate-up`|Migrer la base de données à la version suivante du schéma.|
|`make clean`|Nettoyer l'environnement.|
2020-06-15 14:58:59 +02:00
2020-06-18 09:34:22 +02:00
#### Ressources
- [Execute an Authorization Code Grant Flow with PKCE ](https://auth0.com/docs/api-auth/tutorials/authorization-code-grant-pkce )
2020-06-15 14:58:59 +02:00
## Licence
AGPL-3.0