jerome-fosse / canal-java-akka

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Test Canal en Java

Enoncé de l'exercice

Le test doit être écrit en scala/java en s’appuyant sur la bibliothèque Akka Stream.

Les données à traiter sont réparties en cinq fichiers TSV (tab separated values) à télécharger sur IMDB via les liens ci-dessous.

La structure de données utilisée dans les fichiers est décrite dans le lien ci-dessous :

Le besoin formulé par le product owner est le suivant :

  • En tant qu'utilisateur je souhaite pouvoir saisir le nom d'un titre et retourner
    l'ensemble des membres de l’équipe de tournage.
  • En tant qu'utilisateur je souhaite pouvoir retourner le titre des 10 séries avec le plus
    grand nombre d'épisodes.

Stack Technique

  • Java 15 minimum (Java 14 en activant les preview features)
  • Akka Stream et Akka Http
  • Postgresql

Creation de la base de données et import des fichiers

Création de la base de données :

docker-compose up -d

Demarrage de la base de données :

docker-compose start

Import des fichiers :

./mvnw clean install exec:exec@import

Entre le téléchargement des fichiers et l'import, il faut compter un peu moins de 15 minutes.

Démarrer l'application

Une fois l'import terminé, pour démarrer le serveur :

./mvnw exec:exec@server

Le serveur écoute sur le port 8080.

Utiliser les services

Afficher les membres de l'équipe de tournage d'un film

curl -X POST http://localhost:8080/titles/principals/search -H "Content-Type: application/json" -d "{\"titleName\":\"The Last of the Mohicans\"}" | jq

Afficher la liste des 10 série avec le plus d'épisodes

curl http://localhost:8080/tvseries/topten | jq

About


Languages

Language:Java 100.0%