/api-oblog

API faites lors d'ne minithéose NodeJS Express

Primary LanguageJavaScript

title

TEAM MALABOU - API O'blog

@Fredo & @Helene

Etude du projet

Tout le détail de notre initialisation de la gestion du projet se trouve ici

Mise en place de la base de données

Tout le détail de la mise en place de la base de données et de l'outil de versioning Sqitch c'est par

Initialisation du projet

Toutes les étapes que nous avons effectué pour l'initialisation du projet sont ici

Lancement du serveur

Le détail pour construire et lancer notre serveur se trouve ici

Mise en place des routes

Tout le détail de notre établissement des routes à partir des instructions suivantes

=> Routes nécessaire pour l'API O'blog

route GET POST PATCH DELETE
/posts
/posts/:id
/posts/category/:id
/categories
/categories/:id

C'est par ici


Schéma pour la validation de notre body

Nous avons utilisé le module Joi pour la validation des informations récupérées de notre body.

Tout le détail de notre démarche est

Mise en place du datamapper pour les requêtes

Pour les requêtes à la base de données, nous avons chois de passer par un datamapper.

Tout le détail est ici

Mise en place des Models

Mise en place des class Article et Category dans l'optique de générer de nouvelles instances.

Tout le détail est ici

Mise en place des controllers

Tout le détail de notre gestion des controllers c'est par


Mise en place de la documentation Swagger

Tout le détail de la création de notre swaggerDocs c'est par

Et voilà un aperçu de notre documentation sur les routes

TADAAAAM

swagger-jsdocs

Gestion des erreurs

Nous avons créé un fichier de logs en le laissant apparent pour afficher les tests que nous avons effectué.

Tous les résultats de nos tests c'est !

Déploiement

Le déploiement de l'API a été faite sur Heroku (importation des données pas encore faite mais test de l'API effectuée).

https://oblog--api.herokuapp.com/

Et ici, notre documentation faite avec Swagger :

https://oblog--api.herokuapp.com/api-docs/

Attention !

Pour la connection avec la base de données d'Heroku, il faudra bien rentrer les informations de connection de cette manière là :

//~ IMPORTATION DE PG
import pg from 'pg';

//~ CREATION NEW CLIENT
const client = new pg.Client({
    connectionString:process.env.DATABASE_URL,
    ssl: {
        rejectUnauthorized: false
    }
});

//~ CONNEXION
client.connect();

//~ EXPORT
export { client }

Petit mot d'adieux 😘

Cette API a été conçue avec passion et nous avons conscience qu'il y a encore des choses à améliorer, ce n'est qu'une mini-apothéose. L'expérience fut riche et on remercie O'Clock de nous avoir guidé jusque là !

Hélène & Fredo