autonode-cli

1.1.6 • Public • Published

Autonode CLI

Create Nodejs REST API in Javascript

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Contact

About The Project

Preambule

Voici mon CLI que je me suis construit afin de m'aider à créer des API en Nodejs rapidement et facilement.

J'ai conçu ce CLI à l'aide de l'expérience que j'ai accumulé au travers des différents projets que j'ai réalisé. Ce CLI est en constante évolution et chaque nouvelles connaissances que j'acquére vient l'enrichire petit à petit.

Ce projet n'a pas pour vocation à devenir un gros framework comme on peut en voir de nos jours. C'est un outils personnel avant tout qui se base sur mes habitudes de développement et ma conception d'une architecture REST API.

Je suis ouvert à toute critique constructive et vous êtes libre d'utiliser cet outils et de l'améliorer comme bon vous semble. Cependant, si vous venez de débuter dans la conception d'API REST avec nodejs, je vous déconseil de vous servir de cet outils. En effet, il n'est pas encore terminé et il ne répondra surement pas automatiquement à certaines situations que vous rencontrerais. Si vous cherchez un framework nodejs, je vous conseil l'excellent Nestjs que j'utilise également pour d'autres projets.

Architecture

L'API REST créer avec autonode-cli utilisera une base de donnée MySQL. Une future version permettra de générer une API REST utilisant MongoDB

Cette API REST est basé sur une architecture MVC

Voici comment se découpe le corps de l'API REST :

File / Directory Type Description
/.env file Contient les variables d'environnement
/.eslintrc.json file Configuration de eslint
/.gitignore file Les fichiers lors de vos push à git
/package.json file Contient les paramètres du projet
/server.js file Point d'entrée de l'API REST
/public Directory Contient les fichiers uploader
/node_modules Directory Contient tout les modules installé
/app Directory Contient tout le corps du projet
/app/auth Directory Contient toute la logique pour l'authentification
/app/config Directory Contient le fichier de config pour la base de donnée et pour les logs
/app/controllers Directory Contient les controlleurs du projet
/app/helpers Directory Contient les helpers du projet
/app/logs Directory Contient les logs du projet
/app/middlewares Directory Contient les middlewares du projet
/app/models Directory Contient les models du projet
/app/routes Directory Contient les routes du projet
/app/services Directory Contient les services du projet
/app/utiles Directory Contient les utiles du projet

Built With

Listes des dépendences utilisée :

Getting Started

Prerequisites

Vous devez avoir installé nodejs sur votre ordinateur :

Installation

 npm i autonode-cli -g

Usage

New Project

Pour créer un nouveau projet, il vous suffit d'entrer la commande :

 autonode create mon-projet

Cela va vous créer le projet et installer toutes les dépendences nécessaires

Initialisation Database

Une fois toute les dépendences installé, vous pouvez directement créer votre base de donnée avec cette commande :

 autonode db init nom-db 

Si vous utilisez une base de donnée existante, il vous suffit d'aller dans le fichier .env à la racine de votre projet et de dé-commenter le SQL_DATABASE et d'y ajouter le nom de votre base de donnée SQL ```sh SQL_DATABASE= bdd-test ```

Create Entity

Pour créer une nouvealle entité, il vous suffit d'entrer la commande

  autonode entity mon-entité

Cela va vous créer un fichier route, controller et model dans leurs dossiers respectif

Le fichier app/routes/router.js va aussi se mettre à jour en ajoutant le chemin vers le fichier route qui vient de se créer

/!\ Important /!\

Le fichier model va être créer mais il faudra bien sûr définir les propriétés de votre entité dans le constructeur et créer l'entité en DB. Autonode CLI ne gère pas encore le code first !

Create File Entity for Upload File

Pour créer une nouvealle entité pour l'upload de fichier, il vous suffit d'entrer la commande

  autonode entity file

Cela va vous créer un fichier route et controller dans leurs dossiers respectif

Create Auth + JWT

Important

Le systeme n'est pas que pour des utilisateurs n'ayant qu'un seul rôle, à vous de le modifier en fonction de vos préférences

Pour créer un système d'authentification, il vous suffit d'entrer la commande

  autonode entity auth

Cela va vous créer un fichier route, controller, model dans le dossier auth + un fichier middleware dans le dossier middlewares

Vous pouvez également créer une table Users dans votre database avec la commande

  autonode db entity auth

Auth Controller

Le auth.controller contient une fonction pour l'authentification qui include l'utilisation d'un access token ainsi que celui d'un refresh token. Si vous le désirez, vous pouvez enlever l'utilisation du refresh token en commentent ou en suppriment les lignes 18 et 19

// const refreskToken = jwt.sign(authJson, process.env.REFRESH_TOKEN_SECRET);
// await Auth.updateRefresh(refreskToken, req.body.email);

SECRET Access AND Refresh Token

Il est fortement conseiller de changer votre access secret ainsi que votre refresh secret dans le fichier .env

Contact

Turchini Axel - Linkedin - turchini.axel@gmail.com

Project Link: https://github.com/Magictruks/auto_nodejs

Readme

Keywords

none

Package Sidebar

Install

npm i autonode-cli

Weekly Downloads

1

Version

1.1.6

License

ISC

Unpacked Size

45.2 kB

Total Files

13

Last publish

Collaborators

  • magictruks