Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions .firebase/hosting.YnVpbGQ.cache
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
404.html,1656860671076,b7bab6b83fa074653ff28c8d2a64135d3434575f70a12ab3d3ba8080461b9537
asset-manifest.json,1656860677832,be298a3a2ecf363e9f699366b346cca809820b127705158d0ee3ec2d1e9a4266
index.html,1656860677832,f95e61abc93072633c7322332a3b4de755ce97f19070db714576c5d4689ba6ff
favicon.ico,1656860671076,c599b7a91ab3627e3538125d9f40adc2d4bf949046984262670545dc7738af06
logo192.png,1656860671076,76c449ccb9cd117c2f2338f091b18f7050f3210e249b2228f5c81b23f34377cd
robots.txt,1656860671076,2544ca049f223a42bff01f72ad930a5edba75bbb7199d0f8430a02ff5aca16ec
logo512.png,1656860671076,7779210d56c1f3741e2e487799fe3092def4fa6ac450a60532b807c3a8971205
manifest.json,1656860671076,0958a5e0c831126100c8c2d06a6bbaa665a3900f21aaff4130238a6f5a113aa1
static/js/main.b63117ac.js.LICENSE.txt,1656860677836,5945a9db419aeaf086ef949be303d706b584358cf56d101889dc2da8de5d4f81
static/css/main.32777a35.css,1656860677836,aee07dda684b379a4e22f8e6e53fee82c351bdfa5ffdbb4f11ba08350c8d0760
static/js/main.b63117ac.js,1656860677836,65b2fe9494aaa75259b72eab46e4510819d5288066036a7a580512d1151204ad
static/css/main.32777a35.css.map,1656860677836,96cb193c78e8d54d0effcee05201b5be9f7ddefe876d847471735b69aaffd9af
static/js/main.b63117ac.js.map,1656860677836,4b93a97de7cd672b6b0cc4c51ac1f53dcf8e9016b568cfd5c8e3839ef6373dae
7 changes: 7 additions & 0 deletions .firebase/hosting.cHVibGlj.cache
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
404.html,1656857890786,b7bab6b83fa074653ff28c8d2a64135d3434575f70a12ab3d3ba8080461b9537
favicon.ico,1656687433596,c599b7a91ab3627e3538125d9f40adc2d4bf949046984262670545dc7738af06
index.html,1656707332505,061c912146af19fbaec3acb7d3916a7efd8926412c612adca4bf106b1e36c9b0
logo192.png,1656687433596,76c449ccb9cd117c2f2338f091b18f7050f3210e249b2228f5c81b23f34377cd
logo512.png,1656687433600,7779210d56c1f3741e2e487799fe3092def4fa6ac450a60532b807c3a8971205
manifest.json,1656687433600,0958a5e0c831126100c8c2d06a6bbaa665a3900f21aaff4130238a6f5a113aa1
robots.txt,1656687433600,2544ca049f223a42bff01f72ad930a5edba75bbb7199d0f8430a02ff5aca16ec
5 changes: 5 additions & 0 deletions .firebaserc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"projects": {
"default": "react-and-morty-wiki"
}
}
20 changes: 20 additions & 0 deletions .github/workflows/firebase-hosting-merge.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# This file was auto-generated by the Firebase CLI
# https://github.com/firebase/firebase-tools

name: Deploy to Firebase Hosting on merge
'on':
push:
branches:
- pedro-santos
jobs:
build_and_deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- run: npm ci && npm run build
- uses: FirebaseExtended/action-hosting-deploy@v0
with:
repoToken: '${{ secrets.GITHUB_TOKEN }}'
firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_REACT_AND_MORTY_WIKI }}'
channelId: live
projectId: react-and-morty-wiki
17 changes: 17 additions & 0 deletions .github/workflows/firebase-hosting-pull-request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# This file was auto-generated by the Firebase CLI
# https://github.com/firebase/firebase-tools

name: Deploy to Firebase Hosting on PR
'on': pull_request
jobs:
build_and_preview:
if: '${{ github.event.pull_request.head.repo.full_name == github.repository }}'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- run: npm ci && npm run build
- uses: FirebaseExtended/action-hosting-deploy@v0
with:
repoToken: '${{ secrets.GITHUB_TOKEN }}'
firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_REACT_AND_MORTY_WIKI }}'
projectId: react-and-morty-wiki
23 changes: 23 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
/node_modules
/.pnp
.pnp.js

# testing
/coverage

# production
/build

# misc
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local

npm-debug.log*
yarn-debug.log*
yarn-error.log*
139 changes: 75 additions & 64 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,86 +1,97 @@
# frontend-test
# PROJETO:

Desafio para Frontend Developer na DoroTech
Criei uma wiki dos personagens de Rick and Morty com a ajuda de um professor indiano.
Segui os passos da aula do Joy Shaheb e adaptei algumas coisas especificas para o projeto

# Frontend na DoroTech
- [Link do vídeo](https://www.youtube.com/watch?v=35QCQnohLg8&ab_channel=JoyShaheb)

Somos uma empresa com clientes que atuam em vários segmentos do mercado, com diferentes tecnologias, culturas e desafios.
## TECNOLOGIAS:

Gostamos de compor nossos times com profissionais multidisciplinares, que tenham alta capacidade de aprendizado, sejam detalhistas, resilientes, questionadores e curiosos.
Você, como **Frontend Developer**, será o responsável por implementar, dar manutenção, aplicar correções e propor soluções em projetos de software.
Pacotes usados:

## Orientações
Para executar o desafio de **Frontend Developer**, você **deverá utilizar framework React**, seguindo o [passo a passo](https://github.com/dorotech/frontend-test#etapas) para a execução, atendendo aos [critérios de aceitação](https://github.com/dorotech/frontend-test#crit%C3%A9rios-de-aceita%C3%A7%C3%A3o).
- Bootstrap - npm install bootstrap
- Popperjs - npm install @popperjs/core --save
- Sass - npm install -g sass
- React paginate - npm install react-paginate --save
- autoprefixer - npm install postcss-cli autoprefixer

## Desafio
Nossa equipe é apaixonada por **Rick and Morty**, o seu desafio será criar uma aplicação utilizando a API pública da série [https://rickandmortyapi.com/](https://rickandmortyapi.com/), para exibir a lista de personagens.
Veja a documentação [https://rickandmortyapi.com/documentation/#rest](https://rickandmortyapi.com/documentation/#rest).
Host:

Os requisitos da aplicação:
- Firebase - npm install firebase

- Como usuário, desejo visualizar na página inicial, uma lista de 20 personagens, contendo **foto**, **nome** e **status**.
- Como usuário, desejo clicar em um personagem da lista, para visualizar informações detalhadas.
- Como usuário, desejo filtrar os personagens por **nome**, **espécie** e **status**.
- Seja criativo no layout: filtros, icones e menus são bem vindos.
# LINK:

## Etapas
[Rick and Morty wiki](https://react-and-morty-wiki.web.app/)

#### 1 - Fazer um fork desse repositório
# Como rodar:

![https://github.com/dorotech/frontend-test/raw/main/img/print-tutorial-1.png](https://github.com/dorotech/frontend-test/raw/main/img/print-tutorial-1.png)
# Getting Started with Create React App

This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).

#### 2 - Criar um branch com o seu primeiro e último nome
```bash
git checkout -b joao-silva
```
## Available Scripts

#### 3 - Escreva a documentação da sua aplicação
Você deve, substituir o conteúdo do arquivo **README.md** e escrever a documentação da sua aplicação, com os seguintes tópicos:
- **Projeto**: Descreva o projeto e como você o executou. Seja objetivo.
- **Tecnologias**: Descreva quais tecnologias foram utilizadas, enumerando versões (se necessário) e os links para suas documentações, qual guia de estilos de código você utilizou com o link para a sua documentação, quais bibliotecas instalou e porque.
- **Como rodar**: Descreva como iniciar a sua aplicação
- **Link** para acessar o projeto.
In the project directory, you can run:

#### 4 - Faça uma Pull Request
Após implementada a solução, crie uma [pull request](https://github.com/dorotech/frontend-test/pulls) com o seu projeto para esse repositório, avise o recrutador.
### `yarn start`

## Critérios de Aceitação
Para que seu teste tenha o mínimo necessário que atenda aos requisitos esperados, ele deve:
- Atender ao que foi proposto no [Desafio](https://github.com/dorotech/frontend-test#Desafio).
- Utilização de pré-processadores CSS (Sass, Less).
- Interfaces responsivas para desktop, tablets e smartphones.
- Compatibilidade entre browsers.
- Padrão de escrita CSS (BEM, OOCSS, SMACSS).
- Código TS escrito com base em algum guia de estilos: [AirBnB Standards](https://github.com/airbnb/javascript) ou [TypeScript Google Guide](https://google.github.io/styleguide/tsguide.html).
- Utilizar padrões semânticos em mensagens de commit. (Gostamos do padrão de commits do repositório [AngularJS](http://karma-runner.github.io/3.0/dev/git-commit-msg.html))
- Projeto feito upload: [Firebase hosting](https://firebase.google.com/docs/hosting/quickstart?hl=pt-br) ou [GitHub Pages](https://pages.github.com/).
- Caso você nao consiga completar tudo e tenha algum receio, não se preocupe, iremos avaliar o que foi entregue, mesmo com pendências.
- O diferencial para este desafio: layout, ux e ui, bem como implementação de boas práticas de segurança, performance e/ou estrutura.
Runs the app in the development mode.\
Open [http://localhost:3000](http://localhost:3000) to view it in your browser.

The page will reload when you make changes.\
You may also see any lint errors in the console.

## Dicas e Informações Valiosas
### `yarn test`

#### O que gostaríamos de ver em seu teste:
- Upload do projeto em um seviço de hospedagem.
- Convenção de nome em classes, objetos, variáveis, métodos e etc.
- layout encantador
- Faça commits regulares. Eles são melhores do que um commit gigantesco. Gostaríamos de ver commits organizados e padronizados, então capriche neles!
- uso de libs como bootstrap, material
- Hooks é bem-vindo.
- Animações, coidado com UX e Sobras.
- Projeto feito usando TypeScript
- **Bônus** Dark Mode, implementação sendo um botão que mude o padrão de cores da pagina para escuro e claro com 1 click.
- **Bônus 2** QueryParams para buscas, quando uma busca e realizada, exibir na url o parametro da busca realizado, caso recaregar a pagina com a url, usar o parametro para preencher os itens da pagina.
Launches the test runner in the interactive watch mode.\
See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information.

**Observação:** Nenhum dos itens acima é obrigatório.
### `yarn build`

#### O que o seu Teste não deve ter:
- Saber que não foi você quem implementou o projeto.
- Varias bibliotecas instaladas sem uso.
- Falta de organização de código.
- Falta de documentação.
- Nome de variáveis sem sentido ou padrão de nomes.
- Histórico de commits desorganizado e despadronizado.
Builds the app for production to the `build` folder.\
It correctly bundles React in production mode and optimizes the build for the best performance.

## Boa Sorte!!
The build is minified and the filenames include the hashes.\
Your app is ready to be deployed!

See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information.

### `yarn eject`

**Note: this is a one-way operation. Once you `eject`, you can't go back!**

If you aren't satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project.

Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you're on your own.

You don't have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn't feel obligated to use this feature. However we understand that this tool wouldn't be useful if you couldn't customize it when you are ready for it.

## Learn More

You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started).

To learn React, check out the [React documentation](https://reactjs.org/).

### Code Splitting

This section has moved here: [https://facebook.github.io/create-react-app/docs/code-splitting](https://facebook.github.io/create-react-app/docs/code-splitting)

### Analyzing the Bundle Size

This section has moved here: [https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size](https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size)

### Making a Progressive Web App

This section has moved here: [https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app](https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app)

### Advanced Configuration

This section has moved here: [https://facebook.github.io/create-react-app/docs/advanced-configuration](https://facebook.github.io/create-react-app/docs/advanced-configuration)

### Deployment

This section has moved here: [https://facebook.github.io/create-react-app/docs/deployment](https://facebook.github.io/create-react-app/docs/deployment)

### `yarn build` fails to minify

This section has moved here: [https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify](https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify)
Loading