FAQ Desenvolvedores

Informações para desenvolvedores da plataforma.

1. Como fazer o build do software localmente?

Frontend: O frontend da plataforma utiliza o ReactJS. As instruções de build estão no README.md do repositório web-ui, e envolvem a utilização do yarn, ou docker.

Backend: O backend da plataforma é composto por vários micro-serviços. Os serviços projects e datasets possuem instruções de build no README.md, e envolvem a utilização python ou docker.

O JupyterLab e a extensão do Jupyterlab também possuem instruções de build no README.md de seus repositórios. Ambos utilizam typescript e python.

Os demais serviços foram aproveitados do Kubeflow e, embora sejam parte da plataforma, o build é realizado pelo time do Kubeflow. Consulte as instruções nos repositórios kubeflow/kubeflow e kubeflow/pipelines.

2. Como testar o software localmente?

Frontend: Os testes unitários do web-ui podem ser executados com o yarn test ou npm run test.
Testes funcionais podem ser realizados seguindo as instruções no README.md do repositório web-ui.

Backend: Os testes unitários dos serviços projects, datasets e o SDK podem ser executados com o pytest.

3. Como preparar meu ambiente de desenvolvimento?

De forma geral, siga as instruções do README de cada repositório:

Recomendo o uso do Visual Studio Code como IDE.

4. Onde fica o código-fonte?

Em vários respositórios da organização PlatIAgro.
Qualquer pessoa é livre para realizar git clone (é um projeto Open-Source!)
Para fazer commits, solicite autorização a um dos administradores da organização.

5. Onde está o pipeline de CI/CD? Como ele funciona?

O fluxo de CI é operado pelo GitHub Actions. Cada repositório configura seu workflow através de arquivos .github/workflows/[algum-nome].yaml. Estes fluxos geralmente rodam testes unitários e fazem o build de imagens docker. Alguns exemplos:

Não há fluxo de CD operado pelo GitHub Actions.

6. Onde está o backlog/roadmap da PlatIAgro?

O CPQD é o principal contribuinte do roadmap da PlatIAgro. Ferramentas internas do CPQD guardam as informações do Roadmap.

7. Como funcionam os ambientes de validação/integração/testes?

O CPQD mantém ambientes da plataforma para validação.
O acesso é restrito a colaboradores do CPQD. Cada ambiente possui um responsável que realiza a sua atualização quando necessário.

8. Quem dá suporte em produção da PlatIAgro?

Não há equipe dedicada de suporte. Se desejar suporte, entre em contato com o CPQD.

9. Onde está a documentação da PlatIAgro?

Boa parte da documentação é mantida neste site. 😄
Para editá-la, altere os fontes no repositório platiagro/platiagro.github.io.
Algumas outras fontes de documentação:

10. Qual o papel de cada um no time?

11. Com que frequência o time se reune?

Há reuniões diárias com o time de software e 2 vezes na semana com o time completo (Machine Learning + Software).
As reuniões são restritas ao time do CPQD.

12. Com quem devo falar para tirar “dúvidas de iniciante”?

Todos os membros do projeto dispostos a ajudar. 😄
Se quiser um contato, mande um email para o Arquiteto de Software: fabiol@cpqd.com.br.

13. Quem decide as novas features da PlatIAgro?

O time do CPQD prioriza o Roadmap da PlatIAgro.
As features geralmente surgem das necessidades levantadas em projetos de P&D com parceiros da indústria.
Conheça mais no site do CPQD.

Deseja sugerir uma feature? Entre em contato por email, ou abra uma issue no GitHub.

14. Qual o canal de comunicação do time?

A principal forma de comunicação é por e-mail.
Os colaboradores do CPQD também utilizam as salas do Google Chats:

18. Quais são os principais problemas da PlatIAgro? (em software)

  • Ainda não temos uma solução 100% multi-tenant (há tabelas e canais de comunicação compartilhados entre os usuários).
  • O gerenciamento de Datasets não é otimizado para Big Data. Há problemas na implementação do SDK para dados que não caibam em memória.
  • Não temos interface internacionalizada (multi-idiomas).

19. Que features as pessoas “querem ver” na PlatIAgro?

  • Gestão de Usuários/Tenants
  • Internacionalização da Interface
  • Integração com os Produtos do CPQD (ASR, TTS, Billing, Plat. Decisão)
  • Integração com plataformas IoT
  • Integração com ferramentas da AWS, GCloud, Azure…
  • Marketplace de Modelos

20. Qual o ciclo de releases da PlatIAgro?

Geralmente lançamos uma versão a cada 6~12 meses.
A versão 0.1.0 foi lançada em Nov. 2020 e a versão 0.2.0 em Jul. 2021.


Ambiente para Desenvolvimento

Informações de como usar o ambiente de PlatIAgro para desenvolvimento.