Skip to content

julianactrl/Video-Games-API

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Individual Project - Henry Videogames

Project Objectives

  • Build an App using React, Redux, Node and Sequelize.
  • Affirm and connect the concepts learned in the race.
  • Learn best practices.
  • Learn and practice the GIT workflow.

Technologies:

  • React
  • Redux
  • Express
  • Sequelize - Postgres

Frontend

React / Redux application with the following screens / paths.

Initial page: landing page with

  • A background image representative of the project
  • Button to enter home (Main route)

Main path: contains

  • Search input to find video games by name
  • Area where the video game list will be seen. Shows his:
    • Picture
    • Name
    • Genders
  • Buttons / Options to filter by genre and by existing video game or added by us
  • Buttons / Options to sort the video games both in ascending and descending order in alphabetical order and by rating
  • Paged to go looking for and showing the following videogames

Video Game Detail Path: Contains

  • The fields shown in the main path for each video game (image, name, and genres)
  • Description
  • Release date
  • Rating
  • Platforms

Video Game Creation Path: Contains

  • A form controlado with the following fields
    • Name
    • Description
    • Release date
    • Rating
  • Ability to select / add multiple genres
  • Possibility to select / add several platforms
  • Button / Option to create a new video game

Database

The database model has the following entities:

  • Video game with the following properties:
    • ID: * It cannot be an ID of an existing game in the rawg API
    • Name *
    • Description *
    • Release date
    • Rating
    • Platforms *
  • Genre with the following properties:
    • ID
    • Name

The relationship between both entities is many to many since a video game can belong to several genres simultaneously and, in turn, a genre can contain multiple different video games.

Backend

Development is server in Node / Express with the following paths:

  • GET / videogames:
    • Get a list of the first 15 video games
    • It should return only the data necessary for the main path
  • GET /videogames?name="...":
    • Obtain a list of the first 15 video games that contain the word entered as query parameter
    • If there is no video game show a suitable message
  • __GET / videogame / {idVideogame} __:
    • Get the detail of a particular video game
    • You must bring only the data requested in the video game detail path
    • Include associated genres
  • GET / genres:
    • Get all types of video game genres possible
    • In the first instance, they must bring them from rawg and save them in their own database and then use them from there
  • POST / videogame:
    • Receive the data collected from the controlled form of the video game creation path by body
    • Create a video game in the database