Caso tenha android você pode baixar o apk por aqui: Google Drive ou OneDrive. Caso tenha Iphone sinto muito você pode executar o projeto e usar seu celular como emulador, disponível no passo Como executar
Este projeto foi desenvolvido para o gerenciamento de repositórios com estrela do GitHub.
Toda a lógica dos componentes são extraídas para um arquivo externo. Exemplo: Componente Repositórios: Repository.tsx
, a logica para filtrar os repositórios fica em Repository.logic.ts
. Dessa forma facilita criar testes para essa função. Os testes ficam na mesma pasta dos componentes ou funções testado dessa forma: Repository.logic.test.ts
.
Para o gerenciamento de estados globais foi utilizado o Mobx. O principal fator da escolha dessa biblioteca foi a facilidade de uso. Diferente do redux onde é necessário fazer a configuração, criar actions, reducers..., no Mobx eu consigo criar um store e transformar ele em observável, e meus componentes são observadores e são atualizados sempre que meu store muda.
- Fazer autenticação e autorização de usuário;
- Buscar todos os repositórios em que o usuário fornecido adicionou estrela;
- Gerenciar tags de repositórios listados (por exemplo, adicionar, editar, excluir);
- Filtrar repositórios por tags.
Login/Registrar |
Lista de repositórios |
---|---|
Repositório | Configurações |
---|---|
1 - Instale o expo-cli
npm install -g expo-cli
2 - Instale as dependencias do projeto utilizando yarn:
yarn
3 - Inicie o projeto:
expo start
Voce pode rodar um emulador ou baixar o app Expo Go no seu celular e ler o QR Code que vai aparecer na tela.
Link para o backend: Backend GitTag
Todos os componentes e lógicas foram testados. O teste de cada componente ou lógica fica na mesma pasta que o componente testado.
Para rodar os testes:
yarn test
Vai aparecer uma tela assim:
-
A lógica que eu usei no backend pra armazenar os repositórios e tal não foi a melhor escolha. Dito isso, também não foi feito testes e foi tudo feito em JavaScript. Já que o prazo era curto, eu fiz o backend da forma mais simples que consegui e armazenei meus esforços para o Mobile.
-
O backend só atualiza os repositórios com estrela quando faz login ou cria conta.
-
Meu teclado não tem acento, coloquei depois, mas devo ter esquecido alguns lugares.
Gustavo Bonassa - [email protected]