Pilot
A próxima versão da Dashboard Pagar.me
Índice
- Introdução
- Tecnologia utilizada
- Requisitos
- Instalação
- Cockpit
- Estrutura do projeto
- Contribuindo
- Licenças
Introdução
Pilot é o codinome da nova dashboard do Pagar.me. O produto foi criado
a partir de feedbacks dos usuários, para que eles possam ter uma
experiência cada vez mais transparente de sua operação financeira no
Pagar.me, e consigam focar no seu negócio!
Tecnologia utilizada
A stack foi escolhida com base no que empresas como Facebook, AirBnb,
e New York Times estão usando para construir suas experiências. Também foi
levado em consideração a simplicidade, curva de aprendizado e requisitos
como fácil distribuição e entrega progressiva.
Tendo isso em vista, optamos por usar React e Ramda.
A estrutura do projeto foi iniciada rapidamente usando o FormerKit Dashboard,
projeto que desenvolvemos baseado no Create React App para nos permitir
criar rapidamente projetos de dashboards.
Requisitos
Este repositório é um monorepo que aloja os pacotes que compõem a Pilot.
Para instalar as dependências é necessário usar o
Yarn versão 1.0 ou superior, que suporta a
funcionalidade de Workspaces.
Instalação
Algumas instruções para desenvolver na Pilot:
-
Clonando o repositório
$ git clone git@github.com:pagarme/pilot.git
-
Rodando o servidor
Entre na pasta principal do projeto:
$ cd pilot
Use o Yarn para instalar as dependências:
$ yarn
Entre no diretório da Pilot e inicie a aplicação:
$ cd packages/pilot $ yarn start
Cockpit
O Cockpit é nossa biblioteca para efetuar requests a serviços externos,
e devolver os dados retornados em um formato estruturado para serem
utilizados nas páginas da Pilot. Atualmente, a principal função do
Cockpit é fazer a comunicação com a API utilizando o pagarme-js. Porém, sua estrutura permite
interação com outros serviços, caso haja necessidade. Uma request ao
Cockpit equivale a uma ou mais requests na API, onde o dado retornado
será tratado para ser renderizado na Pilot.
Rodando testes no Cockpit
Entre no diretório do Cockpit e inicie os testes:
$ cd packages/cockpit
$ yarn test
Estrutura do projeto
-
packages
: Toda a estrutura de arquivos e pastas dos monorepos,
seguindo a funcionalidades de Workspaces.-
cockpit
: Contém a estrutura de arquivos e pastas do Cockpit.config
: Configurações gerais do Webpack e Jest.dist
: Scripts prontos para produção.scripts
: Todos os scripts usados para testes.src
: Código-fonte do Cockpit.
-
pilot
: Contém a estrutura de arquivos e pastas do Pilot.src
components
: Componentes pequenos, geralmente compostos de JSX
e estilos. Não devem conter estado e devem estar aqui apenas caso
sejam reutilizados em várias áreas distintas do app.containers
: Componentes grandes, compostos de outros componentes.
Podem conter estilos e estado (desde que o estado seja irrelevante
para o contexto da rota). Podem estar aqui para serem reutilizados
ou por serem usados em uma rota inteira.pages
: Componentes grandes que contém a lógica de busca de
dados e manutenção de estado das rotas do app. Não devem conter
estilos e são os únicos componentes que podem ser conectados ao
Redux.formatters
: Funções utilizadas para formatação dos dados da
aplicação.models
: Dados estáticos que fazem parte da aplicação e mapeiam
para dados usados ou retornados pela API.
stories
: Nossa biblioteca de componentes, containers e páginas
da aplicação. Utilizamos o Storybook
para auxiliar no desenvolvimento usando mocks e para efetuar
validações visuais.
-
Contribuindo
Para ler informações sobre contribuição, confira nosso guia
de contribuição em CONTRIBUTING.md.
Licenças
Veja as licenças em LICENSES.