Sen descrición

Vincent GUFFON 822de957a7 tests %!s(int64=3) %!d(string=hai) anos
.output fbcd6d052d BTTF-51 %!s(int64=4) %!d(string=hai) anos
assets 1915dfdcfd lang et styles %!s(int64=4) %!d(string=hai) anos
components aa7aeb320a page fiche de la structure %!s(int64=3) %!d(string=hai) anos
config 8c389c118c CRUD one to many %!s(int64=4) %!d(string=hai) anos
lang a3fbcf97d2 lang %!s(int64=3) %!d(string=hai) anos
layouts 6c24526660 BTTF-52 %!s(int64=4) %!d(string=hai) anos
middleware 73aef4ad10 post reread fixes %!s(int64=4) %!d(string=hai) anos
models 6bb552768a organization page models %!s(int64=3) %!d(string=hai) anos
pages aa7aeb320a page fiche de la structure %!s(int64=3) %!d(string=hai) anos
plugins af66f6d04f bank account %!s(int64=3) %!d(string=hai) anos
services b5290a0a18 image %!s(int64=3) %!d(string=hai) anos
static 1e72fc2bce page subscription ok %!s(int64=4) %!d(string=hai) anos
store cab15045df alert refactoring %!s(int64=3) %!d(string=hai) anos
tests 822de957a7 tests %!s(int64=3) %!d(string=hai) anos
types c0167fcec4 TS %!s(int64=3) %!d(string=hai) anos
use aa7aeb320a page fiche de la structure %!s(int64=3) %!d(string=hai) anos
.babelrc b9a8ff33d0 Initial commit %!s(int64=5) %!d(string=hai) anos
.editorconfig b9a8ff33d0 Initial commit %!s(int64=5) %!d(string=hai) anos
.env.local 52128df825 correction de l'env %!s(int64=4) %!d(string=hai) anos
.env.preprod e4c667f4c9 update envs %!s(int64=4) %!d(string=hai) anos
.env.prod e4c667f4c9 update envs %!s(int64=4) %!d(string=hai) anos
.eslintrc.js c163521422 vuex-orm poc init %!s(int64=5) %!d(string=hai) anos
.gitignore 432d5dca46 BTTF-51 test %!s(int64=4) %!d(string=hai) anos
.gitlab-ci.yml 7534d861d9 lint and minor refactoring %!s(int64=4) %!d(string=hai) anos
README.md acae629c39 replace pm2 deploy commands by a simple yarn alias %!s(int64=4) %!d(string=hai) anos
ecosystem.config.js 45df1136f2 update build configuration %!s(int64=4) %!d(string=hai) anos
jest.config.js 6034fff251 BTTF-58 %!s(int64=4) %!d(string=hai) anos
jsdoc.json 3144f4862a config + rights + docs + tests + i18n %!s(int64=4) %!d(string=hai) anos
nuxt.config.js 7cd5f3e733 apply eslint format fixes %!s(int64=4) %!d(string=hai) anos
package.json 147781bb66 new package %!s(int64=3) %!d(string=hai) anos
tsconfig.json d84b358606 add module nuxt-image %!s(int64=4) %!d(string=hai) anos
yarn.lock 147781bb66 new package %!s(int64=3) %!d(string=hai) anos

README.md

app

pipeline status coverage report

Frontend développé avec Vue.js 2 + NuxtJs 2

A voir:

Opérations courantes

Déploiement

Premier déploiement en tant que service

Prérequis 1 : PM2 doit être installé de manière globale sur la machine hôte (https://nuxtjs.org/deployments/pm2/)

On commence par cloner le projet app, puis par se placer dans le répertoire ainsi créé. On créé un symlink vers le fichier .env.xxx voulu sous le nom de .env (selon l'environnement)

ln -s .env.xxx .env

Pour déployer le projet en mode SSR, on commence par mettre à jour et compiler :

yarn install
yarn build

On lance ensuite le service avec :

pm2 start

Vérifier le statut avec :

pm2 show app

On pourra ensuite interagir avec le service ainsi :

pm2 restart app
pm2 stop app
pm2 logs app

On enregistre le service pour qu'il soit relancé lors du boot de la machine: https://pm2.keymetrics.io/docs/usage/startup/

En tant que non-root:

pm2 startup

Puis, comme la commande précédente le suggère, on lance en tant que root:

env PATH=$PATH:/usr/bin /usr/local/share/.config/yarn/global/node_modules/pm2/bin/pm2 startup systemd -u exploitation --hp /home/exploitation

On sauvegarde la nouvelle configuration avec:

pm2 save

Mettre à jour

Se placer dans le répertoire de l'application, puis lancer:

yarn deploy

Cette commande est un alias qui équivaut à lancer:

git pull
yarn install
yarn build
pm2 restart

Autres

Lancer les tests

Pour lancer les tests unitaires:

jest

Générer la doc

Pour regénérer la documentation automatique:

yarn docs

Plus d'infos

Structure du projet

Répertoire Rôle
assets Contient les fichiers style et medias
components Les différents composants graphiques qui composent l'application
config La configuration de l'application
lang Les fichiers de traduction
layouts Layouts des pages
middleware Code exécuté avant le rendu des pages (ex: pour vérifier l'authentification)
models Définition des entités (ou modèles)
node_modules Modules node installés via npm
pages Définition des pages qui composent l'application
plugins ...
services Rassemble les classes utilitaires non graphiques
static Ressources statiques et publiques
store Le store et ses composants servent d'entrepôt de donnés, et s'assurent de la cohérence de celles-ci
tests Regroupe les tests (unitaires, end-to-end...)
use ...