Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Challenge finalizado - (Renato Silva) #18

Open
wants to merge 48 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
4b4475f
:truck: chore: move imagens do README.md pra pasta .github
orenatodos Jan 21, 2021
936d45b
:tada: chore: configura estrutura inicial
orenatodos Jan 21, 2021
d699567
:heavy_plus_sign: chore: adiciona styled-components como dependencia
orenatodos Jan 21, 2021
6b8513b
:lipstick: feat: cria estilos globais
orenatodos Jan 21, 2021
9dfc085
:lipstick: feat: cria variaveis de estilo
orenatodos Jan 21, 2021
e026bcc
:sparkles: feat: cria componente Header
orenatodos Jan 21, 2021
0b48eb3
:sparkles: feat: cria componente Container
orenatodos Jan 21, 2021
da96b31
:sparkles: feat: cria componente Input
orenatodos Jan 21, 2021
36d1697
:heavy_plus_sign: chore: adiciona react-select como dependencia
orenatodos Jan 21, 2021
c1fb214
:sparkles: feat: cria componente Select
orenatodos Jan 21, 2021
a57fdb9
:heavy_plus_sign: chore: adiciona styled-media-query como dependencia
orenatodos Jan 21, 2021
1f412d9
:sparkles: feat: cria componente FormArea
orenatodos Jan 21, 2021
26f94ad
:bug: fix: corrige id do componente Select
orenatodos Jan 21, 2021
7fb7ad4
:heavy_plus_sign: chore: adiciona axios como dependencia
orenatodos Jan 21, 2021
3397d2e
:sparkles: feat: busca lista de paises e renderiza no Select
orenatodos Jan 22, 2021
86e388c
:sparkles: feat: cria API fake com json-server
orenatodos Jan 22, 2021
b712861
:sparkles: feat: cria contexto de lugares
orenatodos Jan 22, 2021
caa06da
:heavy_plus_sign: chore: adiciona react-icons como dependencia
orenatodos Jan 22, 2021
6b2452c
:sparkles: feat: cria componente PlacesContainer
orenatodos Jan 22, 2021
c745658
:sparkles: feat: adiciona funcao de remover lugares
orenatodos Jan 22, 2021
36bf39a
:lipstick: feat: adiciona borda no Input ao ser focado
orenatodos Jan 22, 2021
e2d3976
:sparkles: feat: cria componente Modal
orenatodos Jan 28, 2021
08ab4b9
:sparkles: feat: cria componente Confirmation
orenatodos Jan 28, 2021
2903ceb
:lipstick: feat: adiciona novas cores e transicoes
orenatodos Jan 28, 2021
0c652ff
:lipstick: feat: adiciona animacao ao Modal
orenatodos Jan 28, 2021
f16cdae
:heavy_plus_sign: chore: adiciona formik e yup como dependencia
orenatodos Jan 29, 2021
9cedee6
:sparkles: feat: adiciona formik ao input e select
orenatodos Jan 30, 2021
7225ec4
:sparkles: feat: cria schema de validacao do formulario
orenatodos Jan 30, 2021
d56b4d9
:sparkles: feat: adiciona formik ao formulario
orenatodos Jan 30, 2021
44925ba
:lipstick: feat: muda largura maxima do modal
orenatodos Jan 30, 2021
c042fdc
:sparkles: feat: cria modal de ediçao de local
orenatodos Jan 30, 2021
a045128
:lipstick: feat: adiciona nova cor ao theme
orenatodos Jan 30, 2021
7e6f34d
:sparkles: feat: adiciona formik ao formulario de edicao
orenatodos Jan 30, 2021
093d12f
:bug: fix: corrige valores do schema
orenatodos Jan 31, 2021
c85bc38
:sparkles: feat: adiciona novo lugar na API
orenatodos Jan 31, 2021
fdd62a2
:sparkles: feat: limpa formulario apos submit
orenatodos Jan 31, 2021
01e0ebd
:sparkles: feat: atualiza lugar
orenatodos Jan 31, 2021
e84a308
:recycle: refactor: muda logica de remover lugar para o componente Co…
orenatodos Jan 31, 2021
4fea3b8
:lipstick: feat: muda cor de mensage de erro
orenatodos Jan 31, 2021
092e4e8
:heavy_plus_sign: chore: adiciona react-input-mask como dependencia
orenatodos Jan 31, 2021
f5a87ac
:heavy_plus_sign: chore: adiciona @types/react-input-mask como depend…
orenatodos Jan 31, 2021
142a299
:sparkles: feat: adiciona mask no input de meta
orenatodos Jan 31, 2021
b311911
:heavy_plus_sign: chore: adiciona uuidv4 como dependencia
orenatodos Feb 1, 2021
05de4f7
:sparkles: feat: cria hook para controlar Toasts
orenatodos Feb 1, 2021
eed8adc
:sparkles: feat: cria componente ToastContainer e Toast
orenatodos Feb 1, 2021
f755910
:recycle: refactor: adiciona input com mask
orenatodos Feb 1, 2021
18199d0
:sparkles: feat: adiciona Toast no componente Confirmation, FormArea …
orenatodos Feb 1, 2021
8393803
:memo: docs: cria documentaçao do projeto
orenatodos Feb 1, 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
File renamed without changes
File renamed without changes
Binary file added .github/lugaresqueeuqueroconhecer.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Desafio de Frontend

<img src="./img/logo-clubpetro.png"
<img src=".github/logo-clubpetro.png"
alt="Clubpetro" width="300">

- [Descrição](#descrição)
Expand All @@ -17,7 +17,7 @@ Este desafio tem como objetivo avaliar as habilidades técnicas do canditado a v

O desafio consiste em desenvolver um sistema que permita o CRUD de lugares para se conhecer ao redor do mundo. Como na imagem a seguir:

<img src="./img/challenge.png" alt="Desafio" >
<img src=".github/challenge.png" alt="Desafio" >

O Sistema deverá conter um formulário com 3 campos:

Expand Down
12 changes: 12 additions & 0 deletions challenge/.editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# EditorConfig is awesome: https://EditorConfig.org

# top-most EditorConfig file
root = true

[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
1 change: 1 addition & 0 deletions challenge/.eslintcache
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[{"/home/orenatodev/www/github/public/frontend-challenge/challenge/src/index.tsx":"1","/home/orenatodev/www/github/public/frontend-challenge/challenge/src/App.tsx":"2","/home/orenatodev/www/github/public/frontend-challenge/challenge/src/styles/global.ts":"3","/home/orenatodev/www/github/public/frontend-challenge/challenge/src/styles/theme.ts":"4","/home/orenatodev/www/github/public/frontend-challenge/challenge/src/components/Container/index.tsx":"5","/home/orenatodev/www/github/public/frontend-challenge/challenge/src/components/Container/styles.ts":"6","/home/orenatodev/www/github/public/frontend-challenge/challenge/src/components/Header/index.tsx":"7","/home/orenatodev/www/github/public/frontend-challenge/challenge/src/components/Input/styles.ts":"8","/home/orenatodev/www/github/public/frontend-challenge/challenge/src/components/FormArea/index.tsx":"9","/home/orenatodev/www/github/public/frontend-challenge/challenge/src/components/Input/index.tsx":"10","/home/orenatodev/www/github/public/frontend-challenge/challenge/src/components/FormArea/styles.ts":"11","/home/orenatodev/www/github/public/frontend-challenge/challenge/src/components/Select/styles.ts":"12","/home/orenatodev/www/github/public/frontend-challenge/challenge/src/components/Select/index.tsx":"13","/home/orenatodev/www/github/public/frontend-challenge/challenge/src/components/Header/styles.ts":"14","/home/orenatodev/www/github/public/frontend-challenge/challenge/src/services/api.ts":"15","/home/orenatodev/www/github/public/frontend-challenge/challenge/src/hooks/usePlaces.tsx":"16","/home/orenatodev/www/github/public/frontend-challenge/challenge/src/components/PlacesContainer/index.tsx":"17","/home/orenatodev/www/github/public/frontend-challenge/challenge/src/components/PlacesContainer/Place/index.tsx":"18","/home/orenatodev/www/github/public/frontend-challenge/challenge/src/components/PlacesContainer/Place/styles.ts":"19","/home/orenatodev/www/github/public/frontend-challenge/challenge/src/components/PlacesContainer/styles.ts":"20","/home/orenatodev/www/github/public/frontend-challenge/challenge/src/hooks/index.tsx":"21","/home/orenatodev/www/github/public/frontend-challenge/challenge/src/components/Modal/index.tsx":"22","/home/orenatodev/www/github/public/frontend-challenge/challenge/src/components/Modal/styles.ts":"23","/home/orenatodev/www/github/public/frontend-challenge/challenge/src/components/Confirmation/index.tsx":"24","/home/orenatodev/www/github/public/frontend-challenge/challenge/src/components/Confirmation/styles.ts":"25","/home/orenatodev/www/github/public/frontend-challenge/challenge/src/components/PlacesContainer/Place/EditPlace/styles.ts":"26","/home/orenatodev/www/github/public/frontend-challenge/challenge/src/components/PlacesContainer/Place/EditPlace/index.tsx":"27","/home/orenatodev/www/github/public/frontend-challenge/challenge/src/components/FormArea/schema.ts":"28","/home/orenatodev/www/github/public/frontend-challenge/challenge/src/components/PlacesContainer/Place/EditPlace/schema.ts":"29","/home/orenatodev/www/github/public/frontend-challenge/challenge/src/components/ToastContainer/Toast/index.tsx":"30","/home/orenatodev/www/github/public/frontend-challenge/challenge/src/components/ToastContainer/styles.ts":"31","/home/orenatodev/www/github/public/frontend-challenge/challenge/src/components/ToastContainer/Toast/styles.ts":"32","/home/orenatodev/www/github/public/frontend-challenge/challenge/src/hooks/useToast.tsx":"33","/home/orenatodev/www/github/public/frontend-challenge/challenge/src/components/ToastContainer/index.tsx":"34"},{"size":479,"mtime":1611258603539,"results":"35","hashOfConfig":"36"},{"size":518,"mtime":1611846242317,"results":"37","hashOfConfig":"36"},{"size":898,"mtime":1611260103761,"results":"38","hashOfConfig":"36"},{"size":594,"mtime":1611969721438,"results":"39","hashOfConfig":"36"},{"size":200,"mtime":1611261025643,"results":"40","hashOfConfig":"36"},{"size":238,"mtime":1611260950226,"results":"41","hashOfConfig":"36"},{"size":392,"mtime":1611262279815,"results":"42","hashOfConfig":"36"},{"size":924,"mtime":1612106983963,"results":"43","hashOfConfig":"36"},{"size":3053,"mtime":1612143512889,"results":"44","hashOfConfig":"36"},{"size":896,"mtime":1612128185646,"results":"45","hashOfConfig":"36"},{"size":1026,"mtime":1611968830835,"results":"46","hashOfConfig":"36"},{"size":1286,"mtime":1612106981347,"results":"47","hashOfConfig":"36"},{"size":1199,"mtime":1612141104491,"results":"48","hashOfConfig":"36"},{"size":177,"mtime":1611260408014,"results":"49","hashOfConfig":"36"},{"size":116,"mtime":1611277604606,"results":"50","hashOfConfig":"36"},{"size":1044,"mtime":1612106497467,"results":"51","hashOfConfig":"36"},{"size":411,"mtime":1611283257844,"results":"52","hashOfConfig":"36"},{"size":1936,"mtime":1611976209943,"results":"53","hashOfConfig":"36"},{"size":1359,"mtime":1611281850301,"results":"54","hashOfConfig":"36"},{"size":468,"mtime":1612202528841,"results":"55","hashOfConfig":"36"},{"size":323,"mtime":1612136414600,"results":"56","hashOfConfig":"36"},{"size":789,"mtime":1611846635331,"results":"57","hashOfConfig":"36"},{"size":1074,"mtime":1611869201070,"results":"58","hashOfConfig":"36"},{"size":1372,"mtime":1612143536461,"results":"59","hashOfConfig":"36"},{"size":873,"mtime":1611866461828,"results":"60","hashOfConfig":"36"},{"size":1206,"mtime":1611975879816,"results":"61","hashOfConfig":"36"},{"size":2115,"mtime":1612143553333,"results":"62","hashOfConfig":"36"},{"size":240,"mtime":1612129240234,"results":"63","hashOfConfig":"36"},{"size":189,"mtime":1612096218823,"results":"64","hashOfConfig":"36"},{"size":1085,"mtime":1612142507088,"results":"65","hashOfConfig":"36"},{"size":204,"mtime":1612142568908,"results":"66","hashOfConfig":"36"},{"size":923,"mtime":1612142654017,"results":"67","hashOfConfig":"36"},{"size":1431,"mtime":1612142416115,"results":"68","hashOfConfig":"36"},{"size":426,"mtime":1612142736906,"results":"69","hashOfConfig":"36"},{"filePath":"70","messages":"71","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"72"},"1krjc13",{"filePath":"73","messages":"74","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"75"},{"filePath":"76","messages":"77","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"78"},{"filePath":"79","messages":"80","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"81"},{"filePath":"82","messages":"83","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"75"},{"filePath":"84","messages":"85","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"86"},{"filePath":"87","messages":"88","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"89"},{"filePath":"90","messages":"91","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"89"},{"filePath":"92","messages":"93","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"94","messages":"95","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"78"},{"filePath":"96","messages":"97","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"81"},{"filePath":"98","messages":"99","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"86"},{"filePath":"100","messages":"101","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"78"},{"filePath":"102","messages":"103","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"75"},{"filePath":"104","messages":"105","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"81"},{"filePath":"106","messages":"107","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"86"},{"filePath":"108","messages":"109","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"75"},{"filePath":"110","messages":"111","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"75"},{"filePath":"112","messages":"113","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"81"},{"filePath":"114","messages":"115","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"116","messages":"117","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"72"},{"filePath":"118","messages":"119","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"78"},{"filePath":"120","messages":"121","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"86"},{"filePath":"122","messages":"123","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"124","messages":"125","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"89"},{"filePath":"126","messages":"127","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"86"},{"filePath":"128","messages":"129","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"130","messages":"131","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"132","messages":"133","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"89"},{"filePath":"134","messages":"135","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"86"},{"filePath":"136","messages":"137","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"138","messages":"139","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"140","messages":"141","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"75"},{"filePath":"142","messages":"143","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"/home/orenatodev/www/github/public/frontend-challenge/challenge/src/index.tsx",[],["144","145","146","147","148"],"/home/orenatodev/www/github/public/frontend-challenge/challenge/src/App.tsx",[],["149","150","151","152","153"],"/home/orenatodev/www/github/public/frontend-challenge/challenge/src/styles/global.ts",[],["154","155","156","157","158"],"/home/orenatodev/www/github/public/frontend-challenge/challenge/src/styles/theme.ts",[],["159","160","161","162","163"],"/home/orenatodev/www/github/public/frontend-challenge/challenge/src/components/Container/index.tsx",[],"/home/orenatodev/www/github/public/frontend-challenge/challenge/src/components/Container/styles.ts",[],["164","165","166","167","168"],"/home/orenatodev/www/github/public/frontend-challenge/challenge/src/components/Header/index.tsx",[],["169","170","171","172","173"],"/home/orenatodev/www/github/public/frontend-challenge/challenge/src/components/Input/styles.ts",[],"/home/orenatodev/www/github/public/frontend-challenge/challenge/src/components/FormArea/index.tsx",[],"/home/orenatodev/www/github/public/frontend-challenge/challenge/src/components/Input/index.tsx",[],"/home/orenatodev/www/github/public/frontend-challenge/challenge/src/components/FormArea/styles.ts",[],"/home/orenatodev/www/github/public/frontend-challenge/challenge/src/components/Select/styles.ts",[],"/home/orenatodev/www/github/public/frontend-challenge/challenge/src/components/Select/index.tsx",[],"/home/orenatodev/www/github/public/frontend-challenge/challenge/src/components/Header/styles.ts",[],"/home/orenatodev/www/github/public/frontend-challenge/challenge/src/services/api.ts",[],"/home/orenatodev/www/github/public/frontend-challenge/challenge/src/hooks/usePlaces.tsx",[],"/home/orenatodev/www/github/public/frontend-challenge/challenge/src/components/PlacesContainer/index.tsx",[],"/home/orenatodev/www/github/public/frontend-challenge/challenge/src/components/PlacesContainer/Place/index.tsx",[],"/home/orenatodev/www/github/public/frontend-challenge/challenge/src/components/PlacesContainer/Place/styles.ts",[],"/home/orenatodev/www/github/public/frontend-challenge/challenge/src/components/PlacesContainer/styles.ts",[],"/home/orenatodev/www/github/public/frontend-challenge/challenge/src/hooks/index.tsx",[],"/home/orenatodev/www/github/public/frontend-challenge/challenge/src/components/Modal/index.tsx",[],"/home/orenatodev/www/github/public/frontend-challenge/challenge/src/components/Modal/styles.ts",[],"/home/orenatodev/www/github/public/frontend-challenge/challenge/src/components/Confirmation/index.tsx",[],"/home/orenatodev/www/github/public/frontend-challenge/challenge/src/components/Confirmation/styles.ts",[],"/home/orenatodev/www/github/public/frontend-challenge/challenge/src/components/PlacesContainer/Place/EditPlace/styles.ts",[],"/home/orenatodev/www/github/public/frontend-challenge/challenge/src/components/PlacesContainer/Place/EditPlace/index.tsx",[],"/home/orenatodev/www/github/public/frontend-challenge/challenge/src/components/FormArea/schema.ts",[],"/home/orenatodev/www/github/public/frontend-challenge/challenge/src/components/PlacesContainer/Place/EditPlace/schema.ts",[],"/home/orenatodev/www/github/public/frontend-challenge/challenge/src/components/ToastContainer/Toast/index.tsx",[],"/home/orenatodev/www/github/public/frontend-challenge/challenge/src/components/ToastContainer/styles.ts",[],"/home/orenatodev/www/github/public/frontend-challenge/challenge/src/components/ToastContainer/Toast/styles.ts",[],"/home/orenatodev/www/github/public/frontend-challenge/challenge/src/hooks/useToast.tsx",[],"/home/orenatodev/www/github/public/frontend-challenge/challenge/src/components/ToastContainer/index.tsx",[],{"ruleId":"174","replacedBy":"175"},{"ruleId":"176","replacedBy":"177"},{"ruleId":"178","replacedBy":"179"},{"ruleId":"180","replacedBy":"181"},{"ruleId":"182","replacedBy":"183"},{"ruleId":"174","replacedBy":"184"},{"ruleId":"176","replacedBy":"185"},{"ruleId":"178","replacedBy":"186"},{"ruleId":"180","replacedBy":"187"},{"ruleId":"182","replacedBy":"188"},{"ruleId":"174","replacedBy":"189"},{"ruleId":"176","replacedBy":"190"},{"ruleId":"178","replacedBy":"191"},{"ruleId":"180","replacedBy":"192"},{"ruleId":"182","replacedBy":"193"},{"ruleId":"174","replacedBy":"194"},{"ruleId":"176","replacedBy":"195"},{"ruleId":"178","replacedBy":"196"},{"ruleId":"180","replacedBy":"197"},{"ruleId":"182","replacedBy":"198"},{"ruleId":"174","replacedBy":"199"},{"ruleId":"176","replacedBy":"200"},{"ruleId":"178","replacedBy":"201"},{"ruleId":"180","replacedBy":"202"},{"ruleId":"182","replacedBy":"203"},{"ruleId":"174","replacedBy":"204"},{"ruleId":"176","replacedBy":"205"},{"ruleId":"178","replacedBy":"206"},{"ruleId":"180","replacedBy":"207"},{"ruleId":"182","replacedBy":"208"},"lines-around-directive",["209"],"global-require",[],"no-buffer-constructor",[],"no-new-require",[],"no-path-concat",[],["209"],[],[],[],[],["209"],[],[],[],[],["209"],[],[],[],[],["209"],[],[],[],[],["209"],[],[],[],[],"padding-line-between-statements"]
5 changes: 5 additions & 0 deletions challenge/.eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
**/*.js
node_modules
build
/src/react-app-env.d.ts
/src/reportWebVitals.ts
61 changes: 61 additions & 0 deletions challenge/.eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
{
"env": {
"browser": true,
"es2021": true
},
"extends": [
"plugin:react/recommended",
"airbnb",
"plugin:@typescript-eslint/recommended",
"prettier/@typescript-eslint",
"plugin:prettier/recommended"
],
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaFeatures": {
"jsx": true
},
"ecmaVersion": 12,
"sourceType": "module"
},
"plugins": [
"react",
"@typescript-eslint",
"react-hooks",
"prettier"
],
"rules": {
"prettier/prettier": "error",
"no-use-before-define": "off",
"react/react-in-jsx-scope": "off",
"react/jsx-one-expression-per-line": "off",
"react/jsx-props-no-spreading": "off",
"react/prop-types": "off",
"react-hooks/rules-of-hooks": "error",
"react-hooks/exhaustive-deps": "warn",
"react/jsx-filename-extension": [
1,
{
"extensions": [
".tsx"
]
}
],
"import/prefer-default-export": "off",
"@typescript-eslint/explicit-module-boundary-types": "off",
"@typescript-eslint/ban-types": "off",
"import/extensions": [
"error",
"ignorePackages",
{
"ts": "never",
"tsx": "never"
}
]
},
"settings": {
"import/resolver": {
"typescript": {}
}
}
}
23 changes: 23 additions & 0 deletions challenge/.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*
26 changes: 26 additions & 0 deletions challenge/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<h1 align="center">Lugares que eu quero conhecer</h1>

<br>

<p align="center">
<img src="../.github/lugaresqueeuqueroconhecer.png" alt="Lugares que eu quero conhecer" width="100%">
</p>

<br>

## 🚀 Começando

### Requisitos

- [NodeJS](https://nodejs.org/en/)
- [Yarn](https://yarnpkg.com/) ou [NPM](https://www.npmjs.com/)

1. Clone este repositório usando: `git clone https://github.com/orenatodos/frontend-challenge.git`
2. Mova para o diretório apropriado: `cd frontend-challenge`. <br>
3. Execute `yarn` ou `npm install` para instalar as dependências. <br>
4. Execute `npx json-server db.json --port 3333` para subir o servidor de Locais<br>
5. Execute `yarn start` ou `npm start` para visualizar o projeto em: `http://localhost:3000`.

---

Feito com ♥ por Renato Silva 👋 [Entre em contato!](https://www.linkedin.com/in/orenatodos/)
39 changes: 39 additions & 0 deletions challenge/db.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
{
"places": [
{
"id": 1,
"flag": "https://restcountries.eu/data/bra.svg",
"country": "Brasil",
"local": "Balneario Camboriu",
"goal": "04/2022"
},
{
"country": "Estados Unidos",
"local": "Califórnia",
"goal": "02/2021",
"flag": "https://restcountries.eu/data/usa.svg",
"id": 2
},
{
"country": "Canadá",
"local": "Vancouver",
"goal": "03/2021",
"flag": "https://restcountries.eu/data/can.svg",
"id": 3
},
{
"country": "França",
"local": "Paris",
"goal": "03/2021",
"flag": "https://restcountries.eu/data/fra.svg",
"id": 4
},
{
"country": "Brasil",
"local": "Florianópolis",
"goal": "04/2022",
"flag": "https://restcountries.eu/data/bra.svg",
"id": 5
}
]
}
Loading