Giter Site home page Giter Site logo

joussemarborges / test_pxbank Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 290 KB

Repositório para criação de app full-stack de cadastro de funcionários para o teste na Pxbank

Home Page: https://test-pxbank.vercel.app

TypeScript 33.14% HTML 4.62% JavaScript 55.84% CSS 6.39%

test_pxbank's Introduction

Test_Pxbank

Teste técnico realizado para o processo seletivo da pxbank. O desafio era criar uma página de cadastro de funcionários onde fosse possível pesquisar funcionários pelo nome ou departamento, cadastrar um novo funcionário, editar e excluir um registro já existente no Banco de dados. Desenvolvi o back-end utilizando o node.js, typescript, ORM Sequelize e banco de dados MySql. As responsabilidades da aplicação foram divididas em camadas. Já o front-end foi desenvolvido com React (JavaScritp e JSX) e organizado em componentes. Como pontos de melhoria, pretendo configurar o dokcer com o docker-compose e docker-file para que a aplicação possa rodar os serviços de back, front e DB em containers, além de desenvolver testes de integração.

Orientações

Para rodar o projeto localmente:
  1. Clone o repositório - Use o comando: git clone https://github.com/JoussemarBorges/Test_Pxbank. - Entre na pasta do repositório que você acabou de clonar: - cd Test_Pxbank

  2. Acesse o diretório backend e instale as dependências: - npm install

  3. Acesse o diretório frontend e instale as dependências:

    • npm install
  4. Instale as dependências na pasta raiz:

    • npm install
  5. Certifique-se de ter o MySQL instalado ou um container com a imagem do MySQL rodando.

    • Para criar o container com a imagem do MySQL via Docker, utilize o comando abaixo:
      • docker container create --name <nome_do_container> -it -e MYSQL_ROOT_PASSWORD=<senha_de_acesso> -p 3003:3306 mysql:5.7

        • --name para definir o nome do container;
        • -it para rodar no modo interativo;
        • -e para definir a variável de ambiente e atribuir uma senha de acesso ao db pelo terminal interativo ou cm o workbench, por exemplo;
        • -p para definir a porta. A porta padrão é 3306 mas é possivel redefinir conforme no exemplo acima;
        • no fim, já foi definido a imagem e a versão, caso não tenha a imagem instalada o próprio docker fará o download.
  6. Configuração default das portas:

    • MySQL: porta 3003:

      • pode ser alterado no arquivo backend/src/database/config/config.ts
    • Back-end: 3001:

      • pode ser alterado no arquivo backend/src/server.ts
    • Front-end: 3000:

      • Ao subir o front-end o React tenta setar essa porta por padrão, porém se ela estiver ocupada será sugerido outra. recomendo usar a porta padrão.
  7. Para subir os serviços:

    • O serviço do banco de dados deverá ser feito de acordo com a sua opção pelo local ou via docker, mas é importante que ele esteja rodando na porta 3003 ou conforme porta escolhida, caso seja alterado conforme informações do ponto anterior;

    • Entre no diretório /backend pelo terminal e rode o comando npm run dev;

      • Ao final do processo deverá aparecer a mensagem "Rodando!"
      • Caso não rode, verifique se o MySQL está rodando na porta 3003
    • Entre no diretório /frontend e rode o comando npm start pelo terminl.

8 - Rode o comando npm run reset no diretório /backend: * Esse comando irá faer a transpilação do TypeScript para o Java Script, criar o DB, criar as tabelas e inserir alguns registros com o Sequelize.

9 - Pronto! A partir de agora já é possível utilizar a página de funcionários!

Documentação API

Em construção!

Documentação Front-end

Em construção!

test_pxbank's People

Contributors

joussemarborges avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.