Skip to content

seveun/challenge_eskimoz

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

Repository files navigation

📚 Books Scraper API – Test technique back (Junior)

Ce projet est un exercice technique visant à créer une API REST en JavaScript capable de scraper des livres depuis le site https://books.toscrape.com, de les stocker dans une base PostgreSQL, et de les exposer via une API REST.


🎯 Objectifs

  • DĂ©velopper un scraper de donnĂ©es depuis un site HTML.
  • Stocker les donnĂ©es dans une base PostgreSQL.
  • Exposer les donnĂ©es via une API RESTful.
  • Permettre la recherche et le filtrage de ces donnĂ©es.
  • Le projet doit ĂŞtre lancable avec Docker Compose.

🧑‍💻 Consignes techniques

  • Utilise JavaScript (Node.js).
  • Tu es libre de choisir ton framework web (Express, Fastify, ou aucun).
  • Utilise un minimum de dĂ©pendances (axios/undici, cheerio, pg ou un ORM lĂ©ger si besoin).
  • Tu es libre de structurer ton projet comme tu veux.
  • L'API doit respecter les principes REST.
  • Tu peux recevoir une ou plusieurs URLs Ă  scraper.
  • Fournis un README clair pour expliquer comment lancer le projet.

✅ Fonctionnalités attendues

  • Une route qui permet de dĂ©clencher un scraping Ă  partir d’une ou plusieurs URLs du site books.toscrape.com.
  • Une route REST pour rĂ©cupĂ©rer les donnĂ©es stockĂ©es, avec la possibilitĂ© de les filtrer (filtres Ă  ta discrĂ©tion).
  • Le tout doit ĂŞtre persistĂ© en base PostgreSQL.
  • Le projet doit ĂŞtre fonctionnel via docker-compose up --build, sans configuration manuelle.

🔥 Bonus (facultatif)

  • Gestion de la pagination sur plusieurs pages.
  • Éviter les doublons lors du scraping.
  • Ajout de tests unitaires ou d’intĂ©gration.
  • Ajout d’une documentation de l’API (Swagger, Postman ou simple fichier .md).

⏱ Temps estimé

Prévois environ 2 à 3h. Il n’est pas attendu que tout soit parfait ou complet, mais on attend une solution fonctionnelle, propre et lisible.


📬 Livraison attendue

  • Le projet doit ĂŞtre autonome, avec un docker-compose.yml opĂ©rationnel.
  • L'API doit fonctionner en local sans Ă©tape manuelle.
  • Ajoute un README clair avec les instructions pour tester.

✅ À la fin :

  1. Forke ce repository sur ton compte GitHub personnel.
  2. Crée une branche nommée feat/scraper-api à partir de main.
  3. Pousse ton code dans cette branche.
  4. Crée une Pull Request vers ce repo une fois terminé.

🧠 Bonne chance ! Le but est de voir ta logique, ta capacité à organiser ton code et à rendre une API propre. Pas besoin de viser la perfection : l’essentiel c’est que ce soit clair, solide, et que ça tourne.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published