La idea es que cualquiera pueda contrubuir a este proyecto con lo que considere que podria mejorar la API. Dada la gran popularidad entre los desarrolladores front-end de las APIs de "Rick and Morty", "PokeAPI", "Dragon Ball API", etc., pensé que sería divertido tener una versión argentina. Por eso, elegí al primer superhéroe animado argentino para desarrollarla.
Esta API está construida en Typescript utilizando el entorno de Node.js con su sistema de módulos y el framework Express.js, siguiendo la arquitectura MVC.
- El testing de este backend se realiza utilizando el framework Jest y la libreria supertest
Actualmente, no existe la necesidad de crear una base de datos, y un archivo JSON es suficiente para administrarla. En próximas versiones, es muy probable que se porte a MongoDB.
- cors: Para el manejo de los CORS.
- nodemon: dependencia de desarrollo para manejar el reinicio de la api al modificar codigo.
- Clona este repositorio:
git clone https://github.com/Bartoloni00/hijitus-api.git- Navega al directorio del proyecto:
cd hijitus-api- Instala las dependencias:
npm install- compila el proyecto:
npm run build- Inicia el proyecto:
npm run startllamando a la ruta raiz de la api encontraremos este mismo readme el cual incluye toda la documentacion
http://localhost:3333Realiza una peticion por GET a la siguiente URL:
http://localhost:3333/charactersLos personajes vienen dividos por paginas actualmente, por defecto vienen 10 personajes en 3 paginas diferentes, de la siguiente manera podras modificar la pagina:
http://localhost:3333/characters?page=2Y esta es la forma en la que podras modificar la cantidad de personajes que habra por pagina (default = 10)
http://localhost:3333/characters?items=2Tip
Los filtros pueden ser concatenados en un mismo query string.
http://localhost:3333/characters?category=secundariohttp://localhost:3333/characters?category=protagonistahttp://localhost:3333/characters?category=antagonistahttp://localhost:3333/characters?category=episodicohttp://localhost:3333/characters?species=robothttp://localhost:3333/characters?species=humanohttp://localhost:3333/characters?species=perrohttp://localhost:3333/characters?species=humanohttp://localhost:3333/characters?species=mounstruohttp://localhost:3333/characters?species=cangurohttp://localhost:3333/characters?species=pajarohttp://localhost:3333/characters?species=dragonhttp://localhost:3333/characters?species=Pingüinohttp://localhost:3333/characters?species=Búhohttp://localhost:3333/characters?personality=neutralhttp://localhost:3333/characters?personality=buenohttp://localhost:3333/characters?personality=malohttp://localhost:3333/characters?gender=femeninohttp://localhost:3333/characters?gender=masculinohttp://localhost:3333/characters?gender=N/ABuscar por cualquier frase o palabra que pueda estar incluida en la descripcion.
http://localhost:3333/characters?description=amigo%20de%20hijitusRealiza una peticion por GET a la siguiente URL:
http://localhost:3333/characters/{numeroId}Note
Los id de los personajes actualmente van del 1 al 28.
Realiza una peticion por GET a la siguiente URL:
http://localhost:3333/characters/randomSi deseas contribuir a este proyecto, por favor, abre un issue o realiza un pull request. ¡Toda ayuda es bienvenida!
Este proyecto está bajo la Licencia MIT.