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
- Getting Started
- Usage
- Deploy with Docker
- Usage the project running with Docker
- License
- Contact
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
- Build an app using:
HTML
,CSS
,Typescript
,React
,Redux
,Node
,Express
,Postgres
,Sequelize
,Docker
ySwagger
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.
To get a local copy up and running follow these simple example steps.
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
-
Clone the repo
git clone https://github.com/luem2/pi-videogames.git
-
Get a free API Key at https://rawg.io/apidocs
-
Create an
.env
file in the root ofapi
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
-
Enter to the root directory
pi-videogames
and install the backend (api
folder) and frontend (client
folder) dependencies:pnpm install
-
Run the project:
Option 1 (
Dev Mode
):
In theDev Mode
enter the respective frontend and backend folders and run the following command:pnpm dev
Option 2 (
Preview or Production Mode
):
In thePreview or Production Mode
compile first and then run the serverIn the
API
folder:pnpm build pnpm start
In
CLIENT
folder:pnpm build pnpm preview
- 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
- 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/
To run this application in Docker, follow the below steps:
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
In the root of the project folder pi-videogames
run the following command to build and run the services:
docker compose up -d --build
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.
Distributed under the MIT License. See LICENSE
for more information.
- Linkedin: https://linkedin.com/in/lucianopinol
- Telegram: @Luem02
- Email: lucianoepinol@gmail.com