Este projeto teve como desafios para nosso grupo:
Análisar banco de dados cedido a partir tema escolhido (Steam) e a após a análise: criar gráficos que facilitem a visualização de questões criadas e pensadas pelo time, lembrando que esse processo foi concluído exclusivamente de acordo com os dados.
• Soft Skills: Scrum, Kanban e Trello
- Os usuários tem acesso ao site por meio do computador, onde podem:
- Acesso ao jogo com todas as salas e seus respectivos gráficos.
- Definir o caminho que será seguido durante o jogo.
- Entrar nas salas onde se encontram os gráficos.
- Acesso aos gráficos baseando-se no banco de dados do steam.
O layout da aplicação está disponível no Figma:
Antes de começar, você vai precisar ter instalado em sua máquina as seguintes ferramentas: Git. Além disto é bom ter um editor para trabalhar com o código como VSCode
# Clone este repositório
$ git clone https://github.com/alvesarah/metricsgame_Steam.git
# Acesse a pasta do projeto no seu terminal/cmd
$ cd metricsgame_Steam
# Abrir projeto no vscode
$ code .
# A aplicação será aberta na porta:3000 - acesse http://localhost:3000
Utilizamos um banco de dados sql para carregar os dados fornecidos em um documento csv e a partir dele montamos as query utilizando o MySQL Workbench, depois carregamos as query no PowerBI fornecido pela Resilia.
As seguintes ferramentas foram usadas na construção do projeto:
- HTML 5
- CSS 3
- JavaScript
- MySQL
- Workbench
- PowerBI
- Protótipo: Figma → Protótipo (Metrics Game)
- Editor: Visual Studio Code
- Markdown: StackEdit, Markdown Emoji
- Ícones: Feather Icons, Font Awesome
- Fontes: VT323
- Top 5 jogos mais populares (Com base no tempo gasto jogando e segundo as avaliações positivas)
SELECT
name AS nome_do_jogo,
positive_ratings AS avaliações_positivas,
average_playtime AS horas_gastas_jogando
FROM
steam
WHERE
positive_ratings > 9000
AND average_playtime > 10000
LIMIT 5;
- Jogos que precisam ter idade mínima de 18 anos, do gênero ação e que rodam apenas em windows
SELECT
name AS nome_do_jogo,
required_age AS idade_obrigatória,
genres AS genero,
platforms AS sistema_operacional
FROM
steam
WHERE
required_age = 18
AND genres LIKE 'Action'
AND platforms = 'windows'
ORDER BY
name ASC
LIMIT 15;
- Quantidade em percentual de jogos disponibilizados gratuitamente em relação ao total de jogos
SELECT
ROUND(((SELECT
COUNT(price)
FROM
steam
WHERE
price = 0) / COUNT(price) * 100),
2) AS porcentagem_jogos_gratuitos
FROM
steam;
- Quais os 5 setups para os jogos mais bem avaliados da steam?
SELECT
srd.steam_appid,
s.positive_ratings as avaliacoes_positivas,
s.name as jogos,
srd.minimum as setup
FROM
steam AS s
INNER JOIN
steam_requirements_data as srd
ON
srd.steam_appid = s.appid
ORDER BY
s.positive_ratings DESC
LIMIT 5;
- Quais os 5 setups para os jogos mais jogados da steam?
SELECT s.appid,
s.owners as quantidade_de_downloads,
s.name as jogos,
srd.minimum as setup
FROM
steam AS s
INNER JOIN
steam_requirements_data as srd
ON
srd.steam_appid = s.appid
ORDER BY
s.owners DESC
LIMIT 5;
- Quais os 3 setups dos jogos mais jogados da categoria multi-player?
SELECT srd.steam_appid,
s.name,
s.average_playtime,
srd.minimum,
s.categories
FROM
steam AS s
INNER JOIN
steam_requirements_data as srd
ON
srd.steam_appid = s.appid
WHERE
categories LIKE 'Multi-player'
ORDER BY
average_playtime DESC
LIMIT 3;
- Top 10 desenvolvedores com jogos mais jogados
SELECT
developer AS desenvolvedores,
name AS nome_jogo,
average_playtime AS tempo_jogado
FROM
steam
WHERE
average_playtime > 0
GROUP BY
developer
LIMIT 10;
- Jogos co-op com avaliações positivas maiores que negativas
SELECT
steam.name AS jogos_co_op,
steam.positive_ratings AS avaliacoes_positivas
FROM
steam
INNER JOIN
steamspy_tag_data ON steam.appid = steamspy_tag_data.appid
WHERE
steamspy_tag_data.co_op > 0
AND steam.positive_ratings > steam.negative_ratings
ORDER BY
steam.positive_ratings DESC
LIMIT 15;
- Jogos single-player com avaliações negativas maiores que positivas
SELECT
steam.name AS jogos_single_player,
steam.negative_ratings AS avaliacoes_negativas
FROM
steam
INNER JOIN
steamspy_tag_data ON steam.appid = steamspy_tag_data.appid
WHERE
steamspy_tag_data.singleplayer > 0
AND steam.positive_ratings < steam.negative_ratings
ORDER BY
steam.negative_ratings DESC
LIMIT 15;
- Jogos que mais estão presentes nos e-sports(esporte eletrônico)
SELECT
steam.name as jogos_esports,
steamspy_tag_data.e_sports
FROM
steam
INNER JOIN
steamspy_tag_data
ON
steam.appid = steamspy_tag_data.appid
WHERE
steamspy_tag_data.e_sports > 0;
- 10 jogos de ação recomendados para 18 anos com melhor avaliação
SELECT
name,
positive_ratings,
required_age,
genres
FROM
steam
WHERE
required_age >= 18
AND genres = 'Action'
ORDER BY
positive_ratings DESC
LIMIT 10;
- 10 Jogos mais baratos com avaliações mais positivas
SELECT
name,
price,
positive_ratings
FROM
steam
WHERE
price > 0
ORDER BY
price,
positive_ratings DESC
LIMIT 10;
- Jogos multi-player desenvolvidos pela Valve com maiores avaliações
SELECT
developer,
name,
categories,
positive_ratings
FROM
steam
WHERE
categories NOT LIKE '%Single-player%'
AND categories LIKE '%Multi-Player%'
AND price = 0
AND developer LIKE '%Valve%'
ORDER BY
positive_ratings DESC;
- Todos os temas de jogos, ordenados por melhores avaliações
SELECT
count(name) as jogos,
steamspy_tags as tema,
positive_ratings as melhores_avaliacoes
FROM
steam
GROUP BY
steamspy_tags
ORDER BY
melhores_avaliacoes desc
LIMIT 15;
- Avaliação de temas mais famosos e o jogo com melhor avaliação entre eles
(SELECT
name as jogo,
steamspy_tags as tema,
positive_ratings as melhor_avaliacao
FROM
steam
WHERE
steamspy_tags LIKE "%Multiplayer%"
AND steamspy_tags NOT LIKE "%FPS%"
GROUP BY
jogo
ORDER BY
melhor_avaliacao DESC
LIMIT 1)
union all
-- Top 1 jogos de FPS com melhor avaliação
(SELECT
name as jogo,
steamspy_tags as tema,
positive_ratings as melhor_avaliacao
FROM
steam
WHERE
steamspy_tags LIKE "%FPS%"
GROUP BY
jogo
ORDER BY
melhor_avaliacao DESC
LIMIT 1)
union all
-- Top jogos de ação com melhor avaliação (Sem o sci-fi)
(SELECT
name as jogo,
steamspy_tags as tema,
positive_ratings as melhor_avaliacao
FROM
steam
WHERE
steamspy_tags LIKE "%Action%"
AND steamspy_tags NOT LIKE "%Sci-fi%"
GROUP BY
jogo
ORDER BY
melhor_avaliacao DESC
LIMIT 1)
union all
-- Top 1 jogos de Sci-fi com melhor avaliação
(SELECT
name as jogo,
steamspy_tags as tema,
positive_ratings as melhor_avaliacao
FROM
steam
WHERE
steamspy_tags LIKE "%Sci-fi%"
GROUP BY
jogo
ORDER BY
melhor_avaliacao DESC
LIMIT 1)
union all
-- Top 1 jogos de RPG com melhor avaliação
(SELECT
name as jogo,
steamspy_tags as tema,
positive_ratings as melhor_avaliacao
FROM
steam
WHERE
steamspy_tags LIKE "%RPG%"
GROUP BY
jogo
ORDER BY
melhor_avaliacao DESC
LIMIT 1)
union all
-- Top 1 jogos de terror com melhor avaliação
(SELECT
name as jogo,
steamspy_tags as tema,
positive_ratings as melhor_avaliacao
FROM
steam
WHERE
steamspy_tags LIKE "%horror%"
GROUP BY
jogo
ORDER BY
melhor_avaliacao DESC
LIMIT 1)
union all
-- Top 1 jogos de zumbies com melhor avaliação
(SELECT
name as jogo,
steamspy_tags as tema,
positive_ratings as melhor_avaliacao
FROM
steam
WHERE
steamspy_tags LIKE "%Zombies%"
GROUP BY
jogo
ORDER BY
owners DESC
LIMIT 1);
Bernardo Moura 🐻 |
Experiência: Esse projeto foi desafiador desde o início, contudo o grupo se organizou e separou com clareza todos os tópicos que deveriam ter mais atenção, e nas dailys as falhas eram corrigidas de acordo com o decorrer do projeto. Além disso, sempre mantivemos os membros atualizados quando não podiam participar das reuniões. Assim sendo, foi uma experiência que me fez crescer e desenvolver bastante ao trabalhar em grupo. |
Bruno Santana de Sá 🙈 |
Experiência: Minha experiência nesse projeto foi incrível,pois além de uma equipe extraordinária da qual consegui colher muitos conhecimentos através das trocas de ideias, também foi possível me desenvolver mais sobre o universo de dados realizando cosultas pensadas por todo time através do mysql. Todo gerenciamento das atividades foram feitas pela metologia Scrum e Kanban. Posso dizer que saí muito melhor desse após esse projeto, agradeço a todos os amigos pois juntos fomos capazes de entregar um ótimo trabalho. |
Mauricio Oliveira 🐭 |
Experiência: Minha experiência nesse projeto desde o início foi uma das melhores, a ideia passada pela equipe me empolgou muito pois sabia que conseguiria praticar alguns assuntos passados. Tiveram momentos de dificuldade porém a equipe sempre esteve disposta a ajudar e no fim só absorvi o sucesso. |
Rafaela Dias 👽 |
Experiência: Foi uma experiência muito desafiadora mas com ela eu pude me desenvolver melhor trabalhando em equipe e usando novas ferramentas onde eu nunca tinha tido um contato prévio. Tiveram momentos em que eu me senti insegura mas ao ver todos os integrantes do meu grupo e eu trabalhando em equipe e um ajudando o outro fui me sentindo mais segura. Em relação as ferramentas utilizadas eu tive uma familiaridade com o MySQL, gostei de ter aprendido a mexer nessa ferramenta e gostei muito dos resultados que eu e meu grupo obtivemos. Além disso pude aprimorar as minhas softskills. |
Sarah Alves 🦕 |
Experiência: Eu desde o princípio gostei bastante da ideia do projeto e fiquei muito animada para fazer. Durante o desenvolvimento do mesmo, tiveram alguns desafios como fazer o gráfico e a organizar o tempo para conseguir realizar tudo que propomos, mas no final deu tudo certo e foi uma experiência incrível. |
Este projeto esta sobe a licença MIT.
Feito com ❤️ por Bernardo Moura, Bruno Santana de Sá, Mauricio Oliveira, Rafaela Dias e Sarah Alves 👋🏽