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
2 changes: 2 additions & 0 deletions .env
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
PORTA=3030
CONNECTION_STRING='mongodb://localhost/api_pokemon'
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
node_modules/
60 changes: 18 additions & 42 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,49 +1,25 @@
# Teste de Fullstack
# Instruções

Olá Dev! Tudo bem?
## Iniciando o Projeto

Nós estamos sempre em busca de profissionais interessantes e interessados, com boa capacidade de aprendizado, adaptação e principalmente bom senso!
- Utilize o terminal para acessar a pasta principal do projeto e use o comando **npm i** para instalar as dependências
- Use o comando **npm start** para iniciar o lado servidor da aplicação
- Inicie um novo terminal, acesse a pasta **client** e utilize novamente o comando **npm i** e espere até que as dependências sejam baixadas
- Utilize o comando **npm run serve** para inicializar o lado cliente da aplicação
- Acesse **localhost:8000** no seu navegador e comece a cadastrar Pokemon!

Este teste tem como objetivo avaliar e desafiar você. Não é obrigatório realizá-lo completamente, queremos apenas reconhecer seu esforço e potencial para aprender, se adaptar e tomar decisões.
Obs: Por padrão, o servidor está configurado para rodar na porta **3030** e o cliente na porta **8080**

Vamos ao teste!
Lembrando que é necessário haver uma instalação do MongoDB na máquina para poder funcionar!
Caso seja necessário alterar a string de conexão, ela está localizada no arquivo **.env** na pasta raíz do projeto

## Desafio Pokémon
## Tecnologias Utilizadas

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.

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

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


## Consigo fazer?

Consegue sim! Só precisa saber (ou aprender agora) um pouco sobre as seguintes tecnologias:
- HTML
- CSS
- Javascript
- NodeJS
- Algum banco de dados, por exemplo, MySQL, SQL Server, MongoDB, etc...
- Git


## Regras

Para o desafio ficar mais interessante, decidimos criar umas regras:
- No layout, deve utilizar algum framework CSS (ex: Bootstrap, MaterializeCSS, Bulma...)
- No frontend, deve utilizar algum framework (ex: VueJS, ReactJS, Angular...tente não usar jQuery), lembrando que VueJS é diferencial, pois utilizamos aqui na Red
- No backend, deve utilizar NodeJS
- Opcional: usar algum automatizador ou ferramenta de build (ex: Webpack, Grunt, Gulp...)

## 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 (ex: nome_sobrenome), 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.

## Só isso?

Só! Mas se estiver motivado e quiser ser diferencial, tente preparar o projeto para ser executado de maneira prática, usando alguma ferramenta que facilite isso (ex: npm, yarn, docker, etc...).

Boa sorte! :)
- CSS
- Bootstrap
- JavaScript/Node.js
- Express
- Vue.js
- MongoDB
- GIT
32 changes: 32 additions & 0 deletions app.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
//Importando Dependências
const express = require('express');
const mongoose = require('mongoose');
const app = express();
const dotenv = require('dotenv');
const cors = require('cors');

//Config
//DotEnv
dotenv.config();
//Definindo Porta
const porta = process.env.PORTA || 5000;

//CORS
app.use(cors());

//Express BodyParser
app.use(express.json());
app.use(express.urlencoded({extended: true}));

//Conexão com o MongoDB
mongoose.connect(process.env.CONNECTION_STRING, {useNewUrlParser: true, useFindAndModify: false, useUnifiedTopology: true})
.then(()=> console.log('Conectado ao Banco de Dados...'))
.catch(err => console.log(`Erro ao se conectar ao Banco de Dados: ${err}`));

//Importando Rotas
const routeApi = require('./routes/api.js');

//Usando rotas
app.use('/', routeApi);

app.listen(porta, ()=> console.log(`Escutando na porta ${porta}...`));
21 changes: 21 additions & 0 deletions client/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
.DS_Store
node_modules
/dist

# local env files
.env.local
.env.*.local

# Log files
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# Editor directories and files
.idea
.vscode
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
Loading