- Sobre o Projeto
- Feito com
- Começando
- Pré-Requisitos
- Instalação
- Exemplos de uso
- Estrutura de Arquivos
- Contribuindo
- Licença
- Contato
- Ferramentas adicionais
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
Aqui estão algumas linguagens, frameworks, ferramentas e bibliotecas que usamos no desenvolvimento dessa aplicação:
Aqui estão algumas instruções sobre como configurar o projeto localmente. Para obter uma cópia local, siga os passos abaixo:
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.
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
# 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
# Entre na pasta frontend
$ cd frontend
# Instale as dependencias:
$ yarn
# Para rodar a aplicação em modo de desenvolvimento:
$ expo start
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
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
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
- Faça um fork do Projeto
- Crie seu branch da Feature (
git checkout -b feature/AmazingFeature
) - Faça commit das suas modificações (
git commit -m 'Add some AmazingFeature'
) - Faça um push para o branc (
git push origin feature/AmazingFeature
) - Abra um Pull Request
Distribuído na Licença MIT. Veja License.txt
para mais informações
Matheus Lenke Coutinho - [email protected]
Igor Wandermurem Dummer - [email protected]
Link do projeto: https://github.com/matheuslenke/GameCenter
Ferramentas adicionais que recomendamos para desenvolvimento