Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
e15354b
initial log
jgfn1 Jul 1, 2021
a8e0ae3
vue boilerplate created
jgfn1 Jul 1, 2021
d3c9c42
vuetify installed
jgfn1 Jul 1, 2021
f6c8268
loopback boilerplate created
jgfn1 Jul 1, 2021
a75a59c
backend and db connected and working
jgfn1 Jul 1, 2021
362b3d8
additionalProperties constraint removed
jgfn1 Jul 1, 2021
4d42e12
crud operations working on the backend
jgfn1 Jul 1, 2021
a736937
cleaned vue boilerplate
jgfn1 Jul 1, 2021
a8b8910
cleaned vue boilerplate
jgfn1 Jul 1, 2021
4633714
setting up background image
jgfn1 Jul 1, 2021
4e8cd02
recreating vue project
jgfn1 Jul 1, 2021
578dc33
vue reinstalled and vuetify successfully added
jgfn1 Jul 1, 2021
405a5a8
pokemon front crud in development
jgfn1 Jul 1, 2021
a9ad152
icons installed
jgfn1 Jul 1, 2021
bd8a800
table initialized and portuguese language set
jgfn1 Jul 1, 2021
792b693
GET working
jgfn1 Jul 1, 2021
7b96bc8
logging about the wrong branch fix
jgfn1 Jul 2, 2021
3bd5e7e
updating log
jgfn1 Jul 2, 2021
2237fae
implementing create pokemon
jgfn1 Jul 3, 2021
f1ffee4
CRUD operations working
jgfn1 Jul 3, 2021
682e8d4
log update
jgfn1 Jul 3, 2021
b4e8fd0
updated table columns
jgfn1 Jul 3, 2021
2598376
table header quickfix
jgfn1 Jul 3, 2021
6847ed7
table header quickfix
jgfn1 Jul 3, 2021
59c0612
log update
jgfn1 Jul 3, 2021
07846f5
log update
jgfn1 Jul 3, 2021
fb316aa
log update
jgfn1 Jul 3, 2021
2fb7186
create is now available via json
jgfn1 Jul 3, 2021
d1c7f09
setting up firebase deploy
jgfn1 Jul 3, 2021
49bde42
log update
jgfn1 Jul 3, 2021
b7af822
log update
jgfn1 Jul 4, 2021
8092b60
api url updated
jgfn1 Jul 4, 2021
bf016e9
file that allowed deploy to heroku
jgfn1 Jul 4, 2021
69504b0
firebase auth added and login page implemented
jgfn1 Jul 4, 2021
f95a2cf
making sure there'll be no name duplicates
jgfn1 Jul 4, 2021
8a42121
updated controller to create multiple pokemons at a time
jgfn1 Jul 4, 2021
63f99e6
upload excel to create pokemons
jgfn1 Jul 4, 2021
a2b873a
final logs
jgfn1 Jul 4, 2021
137e11f
final logs
jgfn1 Jul 4, 2021
3677185
final logs
jgfn1 Jul 4, 2021
cb86e64
final logs
jgfn1 Jul 4, 2021
9dbed90
Update README.md
jgfn1 Jul 4, 2021
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
1 change: 1 addition & 0 deletions .~lock.Pokemon Go.xlsx#
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
,gersonfialho,h4xch1n3,01.07.2021 12:03,file:///home/gersonfialho/.config/libreoffice/4;
58 changes: 58 additions & 0 deletions LEIAME.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# Teste de Desenvolvimento Web

Olá Dev! Tudo bem?

A RedFox está sempre em busca de profissionais interessantes e interessados, com boa capacidade de aprendizado, adaptação e principalmente motivação!

Este teste tem como objetivo avaliar e desafiar você. Não é obrigatório realizá-lo completamente, queremos apenas conhecer você, seu esforço e potencial para aprender, se adaptar e tomar decisões.

Agora vamos ao teste!


## Desafio Pokémon

Nós temos um problema, atualmente nosso sistema é só um excel, cheio de informações sobre Pokémon. Nós usamos ele como banco de dados e ao mesmo tempo interface de gerenciamento, inserindo, editando, deletando e filtrando os dados.

A missão é criar um sistema para substituir este excel, pois queremos expandir e acrescentar funcionalidades. Queremos manter o básico, mas principalmente queremos uma forma prática e agradável de buscar os dados, com listagem, filtros, paginação e detalhes sobre cada Pokémon.

Fique à vontade com o layout, precisamos de uma interface que consiga entregar as funcionalidades principais e substituir o excel, só isso.


## Consigo fazer tudo isso?

Consegue sim!

O teste é flexível, você pode escolher alguma parte específica dele para fazer, em que se sinta mais confortável e confiante, por exemplo: a interface, as funcionalidades, o banco de dados, etc...O importante é tentar atingir o objetivo de alguma forma.

Aqui na RedFox queremos aproveitar ao máximo suas habilidades e aptidões, mas também desafiar você a adquirir novas, então nossa equipe tem a liberdade de trasitar entre frontend, backend, infraestrutura, etc...Sem se restringir, tudo depende do esforço e vontade de cada um.


## Por onde começo?

Primeiramente, você pode fazer um fork desse repositório aqui, para sua conta do Github, depois disso crie uma branch nova com o seu nome, para podermos indentificá-lo.

Após terminar o desafio, você pode solicitar um pull request para a branch master do nosso repositório. Vamos receber e fazer a avaliação de todos.


## E o Layout??

Fique a vontade quanto a isso, não vamos avaliar o design da sua interface. Se quiser desenhar algo bacana, diferente, pensar até em UI/UX, etc...é claro que vamos valorizar o seu esforço e considerar como um diferencial, mas não se preocupe.


## Regras

Para o desafio ficar mais interessante, decidimos criar algumas regras:
- No layout, deve utilizar algum framework CSS (ex: Bootstrap, MaterializeCSS, Bulma...)
- No frontend, deve utilizar algum framework JS (ex: VueJS, ReactJS, Angular...tente não usar jQuery)
- No backend, deve utilizar NodeJS
- Documentar um pouco o projeto, o que você fez e de que forma devemos executar-lo


## Só isso?

Só!...mas se quiser ir além, tente preparar o projeto para ser executado de maneira simples e prática, se coloque no lugar de alguém com menos conhecimentos, que precisa ver o que você desenvolveu.

ps: Se fizer deploy em algum servidor ou utilizar alguma ferramenta que facilite a execução (ex: docker), será um diferencial.


Boa sorte! (^_^)
94 changes: 36 additions & 58 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,58 +1,36 @@
# Teste de Desenvolvimento Web

Olá Dev! Tudo bem?

A RedFox está sempre em busca de profissionais interessantes e interessados, com boa capacidade de aprendizado, adaptação e principalmente motivação!

Este teste tem como objetivo avaliar e desafiar você. Não é obrigatório realizá-lo completamente, queremos apenas conhecer você, seu esforço e potencial para aprender, se adaptar e tomar decisões.

Agora vamos ao teste!


## Desafio Pokémon

Nós temos um problema, atualmente nosso sistema é só um excel, cheio de informações sobre Pokémon. Nós usamos ele como banco de dados e ao mesmo tempo interface de gerenciamento, inserindo, editando, deletando e filtrando os dados.

A missão é criar um sistema para substituir este excel, pois queremos expandir e acrescentar funcionalidades. Queremos manter o básico, mas principalmente queremos uma forma prática e agradável de buscar os dados, com listagem, filtros, paginação e detalhes sobre cada Pokémon.

Fique à vontade com o layout, precisamos de uma interface que consiga entregar as funcionalidades principais e substituir o excel, só isso.


## Consigo fazer tudo isso?

Consegue sim!

O teste é flexível, você pode escolher alguma parte específica dele para fazer, em que se sinta mais confortável e confiante, por exemplo: a interface, as funcionalidades, o banco de dados, etc...O importante é tentar atingir o objetivo de alguma forma.

Aqui na RedFox queremos aproveitar ao máximo suas habilidades e aptidões, mas também desafiar você a adquirir novas, então nossa equipe tem a liberdade de trasitar entre frontend, backend, infraestrutura, etc...Sem se restringir, tudo depende do esforço e vontade de cada um.


## Por onde começo?

Primeiramente, você pode fazer um fork desse repositório aqui, para sua conta do Github, depois disso crie uma branch nova com o seu nome, para podermos indentificá-lo.

Após terminar o desafio, você pode solicitar um pull request para a branch master do nosso repositório. Vamos receber e fazer a avaliação de todos.


## E o Layout??

Fique a vontade quanto a isso, não vamos avaliar o design da sua interface. Se quiser desenhar algo bacana, diferente, pensar até em UI/UX, etc...é claro que vamos valorizar o seu esforço e considerar como um diferencial, mas não se preocupe.


## Regras

Para o desafio ficar mais interessante, decidimos criar algumas regras:
- No layout, deve utilizar algum framework CSS (ex: Bootstrap, MaterializeCSS, Bulma...)
- No frontend, deve utilizar algum framework JS (ex: VueJS, ReactJS, Angular...tente não usar jQuery)
- No backend, deve utilizar NodeJS
- Documentar um pouco o projeto, o que você fez e de que forma devemos executar-lo


## Só isso?

Só!...mas se quiser ir além, tente preparar o projeto para ser executado de maneira simples e prática, se coloque no lugar de alguém com menos conhecimentos, que precisa ver o que você desenvolveu.

ps: Se fizer deploy em algum servidor ou utilizar alguma ferramenta que facilite a execução (ex: docker), será um diferencial.


Boa sorte! (^_^)
# Pokémon App
Este projeto consiste em desenvolver uma aplicação web que substitua um sistema de cadastro de pokémons que atualmente se resume à uma planilha de Excel.

## Para visualizar o frontend
Seguir o link: https://pokemon-go-redfox.web.app/#/login

Credenciais:
email: [email protected]
senha: essavagaeminha

## Para visualizar a API
https://pokemon-go-redfox-backend.herokuapp.com/explorer/#/

## Para ter acesso direto ao banco MongoDB Atlas:
Me informar um email para que eu o forneça

## Para rodar o frontend localmente:
- Na raiz da pasta:
- $ cd frontend
- $ npm install
- $ npm run serve

## Para rodar o backend localmente:
- Na raiz da pasta:
- $ cd backend
- $ npm install
- $ npm start

# Sumário das tecnologias utilizadas
- Frontend: Vue.js
- Backend: Framework Loopback.js para Node.js
- Layout: Vuetify
- Banco de dados: MongoDB
- Deploy do Frontend: Firebase
- Deploy do Backend: Heroku
- Deploy do Banco de Dados: MongoDB Atlas
5 changes: 5 additions & 0 deletions backend/.dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
node_modules
npm-debug.log
/dist
# Cache used by TypeScript's incremental build
*.tsbuildinfo
4 changes: 4 additions & 0 deletions backend/.eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
node_modules/
dist/
coverage/
.eslintrc.js
3 changes: 3 additions & 0 deletions backend/.eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
module.exports = {
extends: '@loopback/eslint-config',
};
64 changes: 64 additions & 0 deletions backend/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# Runtime data
pids
*.pid
*.seed
*.pid.lock

# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov

# Coverage directory used by tools like istanbul
coverage

# nyc test coverage
.nyc_output

# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
.grunt

# Bower dependency directory (https://bower.io/)
bower_components

# node-waf configuration
.lock-wscript

# Compiled binary addons (http://nodejs.org/api/addons.html)
build/Release

# Dependency directories
node_modules/
jspm_packages/

# Typescript v1 declaration files
typings/

# Optional npm cache directory
.npm

# Optional eslint cache
.eslintcache

# Optional REPL history
.node_repl_history

# Output of 'npm pack'
*.tgz

# Yarn Integrity file
.yarn-integrity

# dotenv environment variables file
.env

# Transpiled JavaScript files from Typescript
/dist

# Cache used by TypeScript's incremental build
*.tsbuildinfo
5 changes: 5 additions & 0 deletions backend/.mocharc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"exit": true,
"recursive": true,
"require": "source-map-support/register"
}
2 changes: 2 additions & 0 deletions backend/.prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
dist
*.json
7 changes: 7 additions & 0 deletions backend/.prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"bracketSpacing": false,
"singleQuote": true,
"printWidth": 80,
"trailingComma": "all",
"arrowParens": "avoid"
}
38 changes: 38 additions & 0 deletions backend/.vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
{
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch Program",
"skipFiles": [
"<node_internals>/**"
],
"program": "${workspaceFolder}/dist/index.js",
},
{
"type": "node",
"request": "launch",
"name": "Run Mocha tests",
"program": "${workspaceRoot}/node_modules/mocha/bin/_mocha",
"runtimeArgs": [
"-r",
"${workspaceRoot}/node_modules/source-map-support/register"
],
"cwd": "${workspaceRoot}",
"autoAttachChildProcesses": true,
"args": [
"--config",
"${workspaceRoot}/.mocharc.json",
"${workspaceRoot}/dist/__tests__/**/*.js",
"-t",
"0"
]
},
{
"type": "node",
"request": "attach",
"name": "Attach to Process",
"port": 5858
}
]
}
32 changes: 32 additions & 0 deletions backend/.vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{
"editor.rulers": [80],
"editor.tabCompletion": "on",
"editor.tabSize": 2,
"editor.trimAutoWhitespace": true,
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.organizeImports": true,
"source.fixAll.eslint": true
},

"files.exclude": {
"**/.DS_Store": true,
"**/.git": true,
"**/.hg": true,
"**/.svn": true,
"**/CVS": true,
"dist": true,
},
"files.insertFinalNewline": true,
"files.trimTrailingWhitespace": true,

"typescript.tsdk": "./node_modules/typescript/lib",
"typescript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": false,
"typescript.preferences.quoteStyle": "single",
"eslint.run": "onSave",
"eslint.nodePath": "./node_modules",
"eslint.validate": [
"javascript",
"typescript"
]
}
29 changes: 29 additions & 0 deletions backend/.vscode/tasks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "Watch and Compile Project",
"type": "shell",
"command": "npm",
"args": ["--silent", "run", "build:watch"],
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": "$tsc-watch"
},
{
"label": "Build, Test and Lint",
"type": "shell",
"command": "npm",
"args": ["--silent", "run", "test:dev"],
"group": {
"kind": "test",
"isDefault": true
},
"problemMatcher": ["$tsc", "$eslint-compact", "$eslint-stylish"]
}
]
}
6 changes: 6 additions & 0 deletions backend/.yo-rc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"@loopback/cli": {
"packageManager": "npm",
"version": "2.21.1"
}
}
36 changes: 36 additions & 0 deletions backend/DEVELOPING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Developer's Guide

We use Visual Studio Code for developing LoopBack and recommend the same to our
users.

## VSCode setup

Install the following extensions:

- [eslint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint)
- [prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode)

## Development workflow

### Visual Studio Code

1. Start the build task (Cmd+Shift+B) to run TypeScript compiler in the
background, watching and recompiling files as you change them. Compilation
errors will be shown in the VSCode's "PROBLEMS" window.

2. Execute "Run Rest Task" from the Command Palette (Cmd+Shift+P) to re-run the
test suite and lint the code for both programming and style errors. Linting
errors will be shown in VSCode's "PROBLEMS" window. Failed tests are printed
to terminal output only.

### Other editors/IDEs

1. Open a new terminal window/tab and start the continuous build process via
`npm run build:watch`. It will run TypeScript compiler in watch mode,
recompiling files as you change them. Any compilation errors will be printed
to the terminal.

2. In your main terminal window/tab, run `npm run test:dev` to re-run the test
suite and lint the code for both programming and style errors. You should run
this command manually whenever you have new changes to test. Test failures
and linter errors will be printed to the terminal.
Loading