Ce repository représente l'API utilisée pour faire le lien entre le front (Vue.js) et la base de données (MongoDB) de calendz.
Ces données étant évidement privées, la (quasi) totalité des routes nécessitent d'être authentifié.
L'API de calendz est développée avec les frameworks et outils suivants* :
Librairie | Version | Description |
---|---|---|
Node.js | 12.18.3 | Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. |
Express | 4.16.4 | Fast, unopinionated, minimalist web framework for Node.js |
Mongoose | 5.10.0 | Elegant MongoDB object modeling for Node.js |
JsonWebToken | 8.5.1 | Industry standard RFC 7519 method for representing claims securely between two parties. |
Mailgun-js | 0.22.0 | A simple Node.js helper module for Mailgun API. |
*(Liste non exhaustive, uniquement les librairies principales sont présentées)
-
Installer Node 12.18.3 et MongoDB 3.6
-
Créer un fichier
.env
à la source de ce repository contenant les valeurs suivantes (modifiables selon vos besoins)NODE_ENV=development FRONT_URL=http://localhost:8080 APP_PORT=3001 APP_PORT_TEST=3002 POPULATE=true DB_HOST=calendz-database DB_PORT=27017 DB_NAME=calendz DB_USER=username DB_PASSWORD=password COOKIE_SECRET=imasecret COOKIE_SECURE=false JWT_SECRET=imasecret JWT_EXPIRATION=900 JWT_EXPIRATION_REFRESH=30 JWT_RAW_TOKEN=imasecret MAILER_ENABLED=true MAILER_API_KEY=aValidKey MAILER_DOMAIN=aValidDomain MAILER_HOST=api.mailgun.net
- Lint :
npm run lint
(corrige la syntaxe du code grâce à ESLint) - Tests :
npm run test
(lance les tests effectués lors de l'intégration continue) - Tests :
npm run test:mock
(insert un jeu de données dans la base afin d'effectuer les tests) - Tests :
npm run test:coverage
(lance l'analyse de la couverture du code) - Tests :
npm run test:coveralls
(upload les résultats du coverage sur coveralls.io) - Production :
npm run start
(lance via node, aucun process manager n'est inclus par défaut) - Développement :
npm run dev
(lance avec nodemon)