- 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.
- React
- Redux
- Express
- Sequelize - Postgres
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
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.
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