Skip to content

Diseño y construcción desde el backend hasta el frontend de una aplicación web que funciona como una biblioteca de videojuegos.

Notifications You must be signed in to change notification settings

kikepal88/PI_Videogames_Deploy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HenryGames

Individual Project - Henry Videogames

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.

Tecnologías

  • React JS
  • React-Router-Dom
  • Redux
  • NodeJS
  • PostgresSQL
  • Sequelize

Enunciado

La idea general es crear una aplicación en la cual se puedan ver los distintos videojuegos disponibles junto con información relevante de los mismos utilizando la api externa rawg y a partir de ella poder, entre otras cosas:

  • Buscar videjuegos
  • Filtrarlos / Ordenarlos
  • Agregar nuevos videojuegos

IMPORTANTE: Para poder utilizar esta API externa es necesario crearse una cuenta para obtener una API Key que luego debera ser incluida en todos los request que hagamos a rawg simplemente agregando ?key={YOUR_API_KEY} al final de cada endpoint. Agregar la clave en el archivo .env para que la misma no se suba al repositorio por cuestiones de seguridad y utilizarla desde allí.

IMPORTANTE: Para las funcionalidades de filtrado y ordenamiento NO pueden utilizar los endpoints de la API externa que ya devuelven los resultados filtrados u ordenados sino que deben realizarlo ustedes mismos. En particular alguno de los ordenamientos o filtrados debe si o si realizarse desde el frontend.

Únicos Endpoints/Flags que pueden utilizar

Frontend

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

Pagina inicial: HenryGames

Ruta principal: HenryGames

Ruta de detalle de videojuego: HenryGames

Ruta de creación de videojuegos: HenryGames

Base de datos

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

  • Videojuego con las siguientes propiedades:
    • ID: * No puede ser un ID de un videojuego ya existente en la API rawg
    • Nombre *
    • Descripción *
    • Fecha de lanzamiento
    • Rating
    • Plataformas *
  • Genero con las siguientes propiedades:
    • ID
    • Nombre

Backend

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

  • GET /videogames:
    • Obtener un listado de los videojuegos
    • Debe devolver solo los datos necesarios para la ruta principal
  • GET /videogames?name="...":
    • Obtener un listado de las primeros 15 videojuegos que contengan la palabra ingresada como query parameter
    • Si no existe ningún videojuego mostrar un mensaje adecuado
  • GET /videogame/{idVideogame}:
    • Obtener el detalle de un videojuego en particular
    • Debe traer solo los datos pedidos en la ruta de detalle de videojuego
    • Incluir los géneros asociados
  • POST /videogames:
    • Recibe los datos recolectados desde el formulario controlado de la ruta de creación de videojuego por body
    • Crea un videojuego en la base de datos, relacionado a sus géneros.
  • GET /genres:
    • Obtener todos los tipos de géneros de videojuegos posibles
    • En una primera instancia deberán traerlos desde rawg y guardarlos en su propia base de datos y luego ya utilizarlos desde allí

About

Diseño y construcción desde el backend hasta el frontend de una aplicación web que funciona como una biblioteca de videojuegos.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published