Cloner le projet, puis suivre les étapes suivantes :
yarn install
Il faut d'abord créer une base de données MySQL en local nommée punto
. Il faut ensuite créer un utilisateur
puntoadmin
. Toutes les informations sont renseignées dans le script de création de table disponible au chemin
./databases/mysql/table_creation_script.sql
.
Une fois la base créée, il faut lancer le script de création de table.
Il faut créer une base de données dans le répertoire ./server/db
nommée punto.sqlite
si elle n'existe pas déjà.
Il faut ensuite exécuter le script de création de table disponible au chemin ./databases/sqlite/table_creation_script.sql
avec l'outil de votre choix.
La base est normalement déjà générée avec des données dedans.
Il faut récupérer l'image officielle de MongoDB sur Docker Hub :
docker pull mongo:latest
Il faut ensuite lancer le conteneur :
docker run -d -p 27017:27017 --name punto-mongo mongo:latest
Il faut maintenant mettre en place la base de données à l'intérieur du conteneur. Pour cela, se connecter au conteneur :
docker exec -it punto-mongo mongosh
Il faut ensuite créer la base de données punto
:
use punto
L'ORM se chargera de créer les collections et les documents nécessaires lors de l'exécution du code.
Il faut récupérer l'image officielle de Neo4j sur Docker Hub :
docker pull neo4j:latest
Il faut ensuite lancer le conteneur :
docker run -d -p 7687:7687 -p 7474:7474 --name neo4j-punto neo4j:latest
Une fois le conteneur lancé, il faut changer le mot de passe de l'utilisateur neo4j
:
# se connecter au conteneur
docker exec -it neo4j-punto cypher-shell -u neo4j -p neo4j
# à la connexion, changer le mot de passe quand demandé
# ctrl + d pour quitter
Pas besoin de configuration supplémentaire pour Neo4J.
Pour démarrer l'application, il suffit de lancer la commande suivante :
yarn run dev
L'application est maintenant accessible à l'adresse http://localhost:3000
.
La commande se chargera de démarrer le serveur et de lancer l'application, pas besoin de lancer les deux séparément.
Vérifier dans le terminal que le serveur a bien réussi à se connecter aux trois base de données. Il devrait retourner les messages suivants :
>> MYSQL: Database connection established
>> SQLITE: Database connection established
>> MONGO: Database connection established
>> NEO4J: Database connection established