victorjourne / browser

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Dépot boite à outils pour un moteur de recherche.

Présentation

Makefile : Contient les commandes et variables du projet.
|_ elasticsearch : Fichiers de config pour ElasticSearch.
|_ backend : Serveur Flask et indexation de la base ouverte bonnes feuilles pour tester le moteur.
|_ frontend : Code source pour distribuer une interface utilisateur branché à ElasticSearch. Fourni un site statique en Svelte.
|_ La conf du 'reverse proxy' nginx qui permet d'éviter les requêtes cross-origin

Prérequis

  • Installer Docker et Docker-Compose localement.
  • Installer Make.
  • Télécharger les données : make download-data

Les micro-services

Elasticsearch

  • Fabriquer l'image docker : make elasticsearch. Lance ES et crée un réseau docker.
  • Tester la base ayant une route nginx: curl http://elasticsearch

Backend

  • Fabriquer l'image docker du backend : make backend-dev. Cela aura pour effet de lancer l'application Flask.
  • Rentrer dans le container : make backend-exec.
  • Lancer les tests unitaires, qui va indexer les données tests pytest tests/iga.
  • Tester le back : http://localhost/api/common/healthcheck

Frontend

  • Sapper pour le routage, Svelte pour l'UI et Tailwindcss pour la mise en forme.
  • Fabriquer l'image docker du frontend : make frontend-dev.
  • Se rendre à http://localhost (Le hot-reloading est configuré)

Nginx

  • Fabriquer l'image docker : make nginx. Lance le service nginx dans un docker. Seul le port 80 est exposé. Tester avec http://localhost

Kibana

  • Pour tester efficacement des changements de mapping dans l'index, la console dev de Kibana peut être utile.
  • Lancer Kibana avec make kibana. Le container Elasticsearch doit tourner. Se rendre à l'adresse http://localhost/5601

About


Languages

Language:Python 48.4%Language:Svelte 29.0%Language:JavaScript 11.7%Language:Makefile 5.8%Language:Dockerfile 3.3%Language:HTML 0.8%Language:Shell 0.6%Language:CSS 0.5%