Skip to content

Individual project done at Henry's Bootcamp, is an application to search and create game information, filter by name, rating, genre and origin.

License

Notifications You must be signed in to change notification settings

luem2/pi-videogames

Repository files navigation

Contributors Forks Stargazers Issues MIT License LinkedIn


Logo

Henry Games

Individual project done at Henry's Bootcamp, is an application to search and create game information, filter by name, rating, genre and origin.
Explore the docs in spanish »

View Demo · Report Bug · Request Feature . Try it with Docker!

Table of Contents


About The Project

Henry Games Screenshot

Introduction

Henry Games its a Individual project done at Henry's Bootcamp, is an application to search and create game information, filter by name, rating, genre and origin.

Check the live demo: https://henrygames.pinol.lat/

The general idea is to create an application in which you can see the different videogames available along with relevant information about them using the RAWG external api and from it, among other things:

  • Search video games
  • Filter / Sort them
  • Add new video games
  • Modify the created games
  • Delete the created games

Project goals:

  • Build an app using: HTML, CSS, Typescript, React, Redux, Node, Express, Postgres, Sequelize, Docker y Swagger for api documentation.
  • Affirm and connect the concepts learned in the degree, and implement new technologies.
  • Learn best practices
  • Learn and practice the GIT workflow.

(back to top)

Built With

  • Html
  • Css
  • Typescript
  • React
  • Redux
  • Node
  • Express
  • Postgres
  • Sequelize
  • Docker
  • Swagger

(back to top)

Getting Started

To get a local copy up and running follow these simple example steps.

Prerequisites

It is necessary to have at least the latest stable version of Node and the PNPM package manager. Make sure you have it in order to correctly install the dependencies needed to run the project. Follow the guides of the links for its installation.

  • Check if they are installed, run the following commands to see their version:
    node --version
    pnpm --version

    Output example:

    node --version
    V18.14.2
    
    pnpm --version
    V7.21.1

Installation

  1. Clone the repo

    git clone https://github.com/luem2/pi-videogames.git
  2. Get a free API Key at https://rawg.io/apidocs

  3. Create an .env file in the root of api folder. The file will look like this (an example file .env.example is in the api folder):

    API_KEY=*YOUR_API_KEY*
    PORT=3000
    
    DB_NAME=videogames
    DB_USER=postgres
    DB_PASSWORD=password123
    DB_HOST=localhost
    DB_PORT=5432
  4. Enter to the root directory pi-videogames and install the backend (api folder) and frontend (client folder) dependencies:

    pnpm install
  5. Run the project:

    Option 1 (Dev Mode):
    In the Dev Mode enter the respective frontend and backend folders and run the following command:

    pnpm dev

    Option 2 (Preview or Production Mode):
    In the Preview or Production Mode compile first and then run the server

    In the API folder:

    pnpm build
    pnpm start

    In CLIENT folder:

    pnpm build
    pnpm preview

(back to top)

Usage

API:

Swagger Docs:

  • You will find all the endpoints, what they do, what they return and all the information related to the backend and the database:

See the docs in development:

DEVELOPMENT: http://localhost:3000/docs

See the docs in production:

PRODUCTION: https://henrygames.pinol.site/docs

Client:

  • You can interact with the functionalities of the project, in the following links:

Running the project in development:

DEVELOPMENT: http://localhost:8080/

Running the project in development, with docker:

DEVELOPMENT WITH DOCKER: http://localhost:4173/

See the project in production:

PRODUCTION: https://henrygames.pinol.lat/

(back to top)

Deploy with Docker

To run this application in Docker, follow the below steps:

Prerequisites

It is necessary to have docker and docker compose installed. Make sure you have them installed, follow the installation guide on the official page.

  • Check if they are installed, run the following commands to see their version:
    docker --version
    docker compose version

    Output example:

    - docker --version
    Docker version 23.0.1, build a5ee5b1
    
    - docker compose version
    Docker Compose version v2.16.0

Installation

In the root of the project folder pi-videogames run the following command to build and run the services:

docker compose up -d --build

(back to top)

Usage the project running with Docker

The client running inside a docker container will run on host http://localhost:4173/ while the other way around it will run on host http://localhost:8080/. The backend and database configuration is the same.


License

Distributed under the MIT License. See LICENSE for more information.

(back to top)

Contact

(back to top)

About

Individual project done at Henry's Bootcamp, is an application to search and create game information, filter by name, rating, genre and origin.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published