Skip to content

Latest commit

 

History

History
254 lines (185 loc) · 9.08 KB

README.PTBR.MD

File metadata and controls

254 lines (185 loc) · 9.08 KB

Logo

Seus jogos no controle

Home of the app showing all games the user is playing Game Details Screenshot showing Pokemon Unite Create Game Screen

Sumário

  1. Sobre o Projeto
  2. Feito com
  3. Começando
  4. Pré-Requisitos
  5. Instalação
  6. Exemplos de uso
  7. Estrutura de Arquivos
  8. Contribuindo
  9. Licença
  10. Contato
  11. Ferramentas adicionais

📝 Sobre o projeto

GameCenter é um App mobile (androind & iOS) e uma API que permite o gerenciamento de todos os seus jogos e todos os dados referentes a eles, para todas as plataformas. Você tem acesso aos jogos que está jogando, irá jogar e quais estão finalizados. O objetivo da aplicação é fornecer aos usuários uma forma simples de gerenciar todos os seus jogos em seu disposito móvel.

Foi desenvolvido na disciplina de Projeto Integrado, que é uma matéria para os alunos de Ciência da Computação na UFES - Universidade Federal do Espírito Santo, no Brasil.

Algumas coisas que você pode fazer:

  • Login com sua conta da Twitch
  • Buscar por jogos para adicionar à sua biblioteca
  • Mudar o status dos jogos que você já tem
  • Definir as datas de início e fim das jogatinas, te possibilitando visualizar quanto tempo demorou para finalizar

(Voltar ao topo)

🔨 Feito com

Aqui estão algumas linguagens, frameworks, ferramentas e bibliotecas que usamos no desenvolvimento dessa aplicação:

(Voltar ao topo)

⌨️ Começando

Aqui estão algumas instruções sobre como configurar o projeto localmente. Para obter uma cópia local, siga os passos abaixo:

Pré-requisitos

Todas as ferramentas que você precisa ter instalado para rodar o projeto e as suas versões

  • nodejs - v16.9.1
  • java - openjdk 16.0.2
  • mvn - 3.8.3
  • expo - 4.12.0

Nesse projeto usamos yarn, mas você pode utilizar npm caso prefira

  • npm - 7.21.1
  • yarn - 1.22.11

Se você pretende rodar esse projeto localmente, você precisa pesquisar como instalar todos essas ferramentas para o seu sistema operacional, e pode encontrar todas essas informações nos seus devidos sites oficiais. Além disso, se você quer testar a aplicação mobile, precisa configurar um simulador Android ou um simulador iOS, caso utilize MacOS. Você pode utilizar o Expo web para rodar uma versão web do app, mas não funciona com as bibliotecas que utilizamos.

💻 Instalação

Clone o repositório

git clone https://github.com/matheuslenke/GameCenter.git

Para configurar o MongoDB, vá para backend/src/main/resources/application.yml e modifique os parâmetros. Você também precisa modificar em backend/src/test/resources/application.yml os parâmetros apontando para a database de testes

⚙️ Inicializando Back-end

  # Entre na pasta backend
  $ cd backend
  # Instale as dependencias
  $ mvn install
  # Rode a aplicação
  $ mvn spring-boot:run

Primeiro, crie um arquivo chamado .env na raiz da pasta frontend, copie o conteúdo de .env.example e preencha as variáveis de ambiente

📱 Inicializando Front-end

  # Entre na pasta frontend
  $ cd frontend
  # Instale as dependencias:
  $ yarn
  # Para rodar a aplicação em modo de desenvolvimento:
  $ expo start

(Voltar ao topo)

📲 Exemplos de uso

Aqui você consegue visualizar alguns gifs de como alguém utilizaria o aplicativo. Algumas das funcionalidades que o usuário possui:

  • Logar-se com uma conta da Twitch.tv, e cada jogo que for adicionado será linkado automaticamente com essa conta
  • Visualizar todos os seus jogos por status, e aprender mais sobre os jogos nos detalhes do mesmo
  • Adicionar novos jogos à sua biblioteca
  • Modificar o status dos jogos já presentes na sua biblioteca
  • Visualizar as informações coletadas da api da Twitch.tv e deslogar-se
Gif showing how to use the app Gif showing how to use the app Gif showing how to use the app Gif showing how to use the app

(Voltar ao topo)

📁 Estrutura de arquivos

Aqui, temos uma breve explicação da estrutura de arquivos

Raiz do projeto
│   README.md
│   
└───backend
│   │    As classes java da aplicação se encontram aqui
│   └───src/main/java/br/ufes/gamecenter/apirest
│      └───ApirestApplication.java - Classe principal do Backend
│      └───config - Configurações de erro
│      └───controller - Aonde as requisições são mapeadas
│      └───model - Entidades da aplicação
│      └───repository - Interface que conecta com o banco de dados diretamente
│      └───service - Lógica entre repository e controller
│      └───security - Classes do Spring Security
│
└───frontend
│   │   index.js - Arquivo de entrada
│   │   App.tsx - Componente de entrada
|   |
│   └───src
│       │
│       └───assets - Imagens, SVGs, etc usados na aplicação
│       └───components - Componentes usados nas telas
|       └───config - Arquivos de configuração
│       └───global - Arquivos globais e de temas
|       └───hooks - Hooks customizados e Contexts
|       └───routes - Rotas da aplicação
|       └───screens - As telas da aplicação
|       └───services - Conexões com APIs e Axios
|       └───utils - Funções de utilidade
|
└───database
    │   #Deprecated, este arquivo não está corretamente configurado
    │    para se conectar com o backend
    └───docker-compose.yml

🤝 Contribuindo

Se você tem alguma sugestão que fará este app ficar melhor, por favor realize um fork e crie um Pull Request. Você pode também simplesmente abrir uma issue com a tag "enhancement" para sugestões e "error" para problemas enfrentados

  1. Faça um fork do Projeto
  2. Crie seu branch da Feature (git checkout -b feature/AmazingFeature)
  3. Faça commit das suas modificações (git commit -m 'Add some AmazingFeature')
  4. Faça um push para o branc (git push origin feature/AmazingFeature)
  5. Abra um Pull Request

(Voltar ao topo)

🔐 Licença

Distribuído na Licença MIT. Veja License.txt para mais informações

(Voltar ao topo)

✉️ Contato

Matheus Lenke Coutinho - matheus.l.coutinho@edu.ufes.br

Igor Wandermurem Dummer - igor.dummer@edu.ufes.br

Link do projeto: https://github.com/matheuslenke/GameCenter

(Voltar ao topo)

🔧 Ferramentas adicionais

Ferramentas adicionais que recomendamos para desenvolvimento

(Voltar ao topo)