Skip to content
This repository has been archived by the owner on Feb 21, 2023. It is now read-only.

op-ent/api

Repository files navigation

op-ent API

Il s'agit de l'API pour le projet op-ent. Il s'agit d'une API REST et GraphQL qui est utilisée pour communiquer avec la base de données op-ent.

Technologies

Développer

Prérequis

Installation & configuration

  • Exécuter yarn pour installer les dépendances.
  • Copier le fichier .env.example et le renommer en .env.local. Il n'y a pas besoin de modifier les variables d'environnement.

Lancement

Il faut exécuter 2 commandes en parallèle :

  • yarn docker:dev : lance les bases de données et interfaces d'administration. La 1ère fois, exécuter yarn migrate avant la commande suivante. Pensez à stocker quelque part les données qui apparaissent dans le terminal ! Cela vous évitera d'aller la chercher dans pgAdmin
  • yarn dev : lance l'API

Vous avez accès à 2 consoles d'administration :

pgAdmin

Permet de gérer la base de données PostgreSQL.

  • URL : http://localhost:5050.
  • Identifiants :
    • Email : admin@admin.com
    • Mot de passe : password
    • Mot de passe de la base de données : lucid

RedisInsight

Permet de gérer la base de données Redis.

Persistance & reset

Toutes les données stockées dans les bases de données presistent d'une utilisation à l'autre. Pour les reset, il faut passer par Docker Desktop directement, supprimer les containers puis les volumes associés.

Utilisation

Lors de la 1ère utilisation (yarn migrate), un utilisateur par défaut est créé, et avec lui un access-id et access-token. Pour toutes les requêtes à l'API, il est nécessaire de passer chacune de ces 2 données dans le header correspondant.

Ace CLI

Adonis propose un CLI utilisable via node ace. Cependant, il faut utiliser yarn ace à la place en développement. Cela permet d'utiliser automatiquement les variables d'environnement du fichier .env.local.

Notifications

Nous utilisons Novu. Pour le moment, il n'est pas possible d'envoyer des notifications en développement. Pour setup novu, il faut exécuter yarn ace novu:setup et suivre les instructions.

Routes

├── auth
│   ├── login (POST)
│   ├── register (POST)
│   ├── request-password-reset (POST)
│   ├── is-reset-password-token-valid (POST)
│   └── reset-password (POST)
├── developers
│   └── accesses (GET, POST)
│       └── :id (GET, PUT, DELETE)
├── users
│   └── :id (PUT)
├── swagger
│   ├── docs (GET)
│   └── swagger.yaml (GET)

Only the swagger routes are not protected by the gateway.

Licence

Publié sous la licence GNU GPL v3.

Fait avec ❤️ par Florian LEFEBVRE en France.


Sponsors
Netlify banner Cleavr banner