GithubHelp home page GithubHelp logo

pilot's Introduction

Pilot

Join the chat at https://gitter.im/pagarme/react-event-components


A próxima versão da Dashboard Pagar.me

Índice

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:

  1. Clonando o repositório

    $ git clone [email protected]:pagarme/pilot.git
  2. 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

cockpit-data-flow

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.

pilot's People

Contributors

alalbux avatar alexandrejuk avatar allangrds avatar claytonsilva avatar deivis avatar dependabot[bot] avatar derekstavis avatar eduardogspereira avatar evaporei avatar fausto-junior avatar flyingluscas avatar gmbarroso avatar ivanmicai avatar leonero avatar lucas-hidalgo avatar macabeus avatar matheusvellone avatar mccraveiro avatar miguelzinhe avatar moog avatar moymah avatar nikolasrangel avatar oliveira avatar otavioensa avatar rsmelo avatar tisoap avatar uselessdev avatar victorteodoro avatar vitorsilvalima avatar vitorvmiguel 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.