Skip to content

CQEN-QDCE/raccourci

Repository files navigation

img License


Raccourci - URL shortener

Installation

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

Executer l'application

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 

Création du record raccourci

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"
}

About

Service pour raccourcir urls et générer des urls plus petites.

Topics

Resources

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published