Skip to content

martinbogado/Pokemon-PI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Individual Project - Henry Pokemon

Objetivos del Proyecto

  • Construir una App utlizando React, Redux, Node y Sequelize.
  • Afirmar y conectar los conceptos aprendidos en la carrera.
  • Aprender mejores prácticas.
  • Aprender y practicar el workflow de GIT.
  • Usar y practicar testing.

Resultados

Video presentacion del proyecto

Watch the video

Enunciado

La idea general es crear una aplicación en la cual se puedan ver los distintos Pokemon utilizando la api externa pokeapi y a partir de ella poder, entre otras cosas:

  • Buscar pokemons
  • Filtrarlos / Ordenarlos
  • Crear nuevos pokemons

Requerimientos mínimos:

Tecnologías necesarias:

  • React
  • Redux
  • Express
  • Sequelize - Postgres

Frontend

Se debe desarrollar una aplicación de React/Redux que contenga las siguientes pantallas/rutas.

Pagina inicial: deben armar una landing page con

  • Alguna imagen de fondo representativa al proyecto
  • Botón para ingresar al home (Ruta principal)

Ruta principal: debe contener

  • Input de búsqueda para encontrar pokemons por nombre (La búsqueda será exacta, es decir solo encontrará al pokemon si se coloca el nombre completo)
  • Área donde se verá el listado de pokemons. Al iniciar deberá cargar los primeros resultados obtenidos desde la ruta GET /pokemons y deberá mostrar su:
    • Imagen
    • Nombre
    • Tipos (Electrico, Fuego, Agua, etc)
  • Botones/Opciones para filtrar por tipo de pokemon y por pokemon existente o creado por nosotros
  • Botones/Opciones para ordenar tanto ascendentemente como descendentemente los pokemons por orden alfabético y por fuerza
  • Paginado para ir buscando y mostrando los siguientes pokemons, 12 pokemons por pagina, mostrando los primeros 9 en la primer pagina.

Ruta de detalle de Pokemon: debe contener

  • Los campos mostrados en la ruta principal para cada pokemon (imagen, nombre y tipos)
  • Número de Pokemon (id)
  • Estadísticas (vida, fuerza, defensa, velocidad)
  • Altura y peso

Ruta de creación: debe contener

  • Un formulario controlado con los campos mencionados en el detalle del pokemon
  • Posibilidad de seleccionar/agregar más de un tipo de pokemon
  • Botón/Opción para crear un nuevo pokemon

Base de datos

El modelo de la base de datos deberá tener las siguientes entidades (Aquellas propiedades marcadas con asterísco deben ser obligatorias):

  • Pokemon con las siguientes propiedades:
    • ID (Número de Pokemon) * : No puede ser un ID de un pokemon ya existente en la API pokeapi
    • Nombre *
    • Vida
    • Fuerza
    • Defensa
    • Velocidad
    • Altura
    • Peso
  • Tipo con las siguientes propiedades:
    • ID
    • Nombre

Backend

Se debe desarrollar un servidor en Node/Express con las siguientes rutas:

  • GET /pokemons:
    • Obtener un listado de los pokemons desde pokeapi.
    • Debe devolver solo los datos necesarios para la ruta principal
  • GET /pokemons/{idPokemon}:
    • Obtener el detalle de un pokemon en particular
    • Debe traer solo los datos pedidos en la ruta de detalle de pokemon
    • Tener en cuenta que tiene que funcionar tanto para un id de un pokemon existente en pokeapi o uno creado por ustedes
  • GET /pokemons?name="...":
    • Obtener el pokemon que coincida exactamente con el nombre pasado como query parameter (Puede ser de pokeapi o creado por nosotros)
    • Si no existe ningún pokemon mostrar un mensaje adecuado
  • POST /pokemons:
    • Recibe los datos recolectados desde el formulario controlado de la ruta de creación de pokemons por body
    • Crea un pokemon en la base de datos
  • GET /types:
    • Obtener todos los tipos de pokemons posibles
    • En una primera instancia deberán traerlos desde pokeapi y guardarlos en su propia base de datos y luego ya utilizarlos desde allí

About

You can search for information about your favourites Pokemons with this app. This project was done with React, Redux, Express, Node, Sequelize and PostgreSQL.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors