Pour débuter, l'installation des packages nodejs est faite par la commande npm
:
$ npm install
Ensuite, pour déployer l'application, il faut créer un fichier .env
dans la racine de l'application, et reinseigner le contenu ci-dessous:
# Variables d'environnement
APP=raccourci
SUFFIX=dev
NETWORK=raccourci-network
MODE=DEV
SECRET=
# Variables d'environnement de la bd MySQL
MYSQL_HOST=raccourci-db
MYSQL_PORT=3307
MYSQL_ROOT_PASSWORD=
MYSQL_USER=port-e-user
MYSQL_PASSWORD=
MYSQL_DATABASE=raccourci
# TypeORM
# Dans les environnements de developpement et d'acceptation, setter à true
# IMPORTANT: POUR L'ENVIRONNEMENT DE PROD, SETTER À false!!!!! Sinon on risque la perte de données à la prod.
SYNCHRONIZE=true
Pour exécuter le projet localement, utiliser les commandes ci-dessous:
# development
$ npm run start
# watch mode
$ npm run start:dev
# production mode
$ npm run start:prod
Le cas d'utilisation plus commun, par contre, sera via container docker
. Pour exécuter le projet contenairisé, utiliser les commandes ci-dessous:
# À la première utilisation, ou après les modifications:
$ docker-compose build
# Ensuite, démarrer l'application:
$ docker-compose up
Pour arrêter l'application:
$ docker-compose stop
Remove les containers (ensuite, il sera obligatoire refaire le build des containers):
$ docker-compose down
Une fois que l'application est deployée, il faut accéder à la fonctionalité de création de record via Swagger API (http://www.lien...)
À l'endpoint POST /short-url
, coller le payload suivant pour la création de l'url
{
"originalUrl": "https://www.long-url-qui-sera-diminue",
"uniqueId": "",
"numberClicks": 0,
"user": "nomdelusager"
}