AdrienVH / carthapirates

CarthaPirates est une application utilisée dans le cadre des cours d'Algorithmie et de Programmation assurés au sein du Master 2 Carthagéo
0 stars 0 forks source link

CarthaPirates

CarthaPirates est une application utilisée dans le cadre des cours d'Algorithmie et de Programmation assurés au sein du Master 2 Carthagéo :

Vous souhaitez utiliser l'application ?

L'API de CarthaPirates n'est pas sécurisée.

L'accès à son API est ouvert à tous (sous réserve que l'application soit actuellement démarrée).

D'ailleurs, vous pouvez vérifier en temps réel l'état de l'application (et de son API) en consultant status.carthapirates.fr.

Pour en savoir plus sur comment utiliser l'API de CarthaPirates, consultez le README du dossier usages

Vous administrez l'application ?

1. Démarrer l'application

1.1 Démarrer un environnement de développement

Arrêtez et nettoyez l'environnement de développement avec la commande make cleanDev.

Puis, démarrez l'application avec la commande make startDev (ou make watchDev pour du debug).

Les services suivants sont alors accessibles :

1.2 Démarrer l'environnement de production

Arrêtez et nettoyez l'environnement de production avec la commande make clean.

Puis, démarrez l'application avec la commande make start (ou make watch pour du debug).

Les services suivants sont alors accessibles :

L'application est hébergée en France (ScaleWay).

2. Architecture logicielle

L'application, proposée sous la forme d'une composition Docker, est composée de trois services :

Service db

La base de données utilisée est une base de données PostgreSQL.

Les extensions suivantes sont ajoutées : PostGIS, pour les données et les traitements géographiques, et PgRouting, pour les calculs d'itinéraires optimisés.

Image utilisée : FROM pgrouting/pgrouting

Service back

L'API REST est une API utilisant Node.js et Express. Son rôle est de permettre la consommation de la base de données du service db (grâce à l'ORM Sequelize) par les différents clients, dont le service front. Sa documentation est assurée par Swagger.

Image utilisée : FROM node:12

Service front

L'application web utilise Nginx et consomme le service api. Elle est codée avec les langages HTML5, CSS3 et Javascript. Elle utilise notamment deux librairies JS : jQuery 3, pour la manipulation du DOM et la consommation de l'API, et OpenLayers 6, pour les fonctionnalités cartographiques.

Image utilisée : FROM nginx:alpine