Code Monkey home page Code Monkey logo

pi-cpigovernanceauto's Introduction

pi-cpigovernanceauto's People

Contributors

claudiadmr avatar danieltazevedo avatar jtmr05 avatar nunodmata avatar rushmetra avatar webst2r avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

pi-cpigovernanceauto's Issues

Preparar ambiente em Docker

Docker

Preparar Docker container com:

  • Servidor Web
  • Base de dados
  • Jenkins
  • CPILint
  • Dependency-Check
  • CodeNarc

Alternativamente, dois containers:

  • Um dedicado à BD
  • Outro para a restante software stack

Jenkins

  • Colocar Jenkins a comunicar com o CpiLint

Fazer tela de exibição de relatório cpilint

  • tela de exibição de relatório: após executar o CPILint deve gerar e exibir um relatório com todos os erros que o conjunto selecionado de IFlows apresentou de acordo com as regras selecionadas;

Relatório e Apresentação

Elaboração do relatório final (20 páginas Máx.)

  • Página inicial com as fotos dos membros;
  • Link para este repositório e tornar o repositório público;
  • Secção relativa à segunda componente descrevendo no que consistiu e como foi desenvolvida (Interface gráfica para a solução de governança automática);
  • Anexar todos os documentos relevantes e referi-los quando for pertinente no relatório (Ex. Roadmap, Backlog, Issues do github, Excel de planeamento de datas inicial, Diagramas, apresentações (1ª e 2ª fase), etc)
  • Idealmente, tudo o que for submetido deve ser integrado num único ficheiro ZIP.

Elaboração de slides de apresentação final (Duração de 10 min)

Até 24/01

Documentation Review & Configuration

Página de revisão de resultados

Ecrã de revisão dos resultados do CPILINT, CodeNarc e dependencyCheck, com especial atenção as vulnerabilidades (CVE) do NIST e código de cores em função do CVSS Score 3.0 (ver cvedetails.com).

Upload dos ficheiros de regras

Possibilidade de fazer o upload dos ficheiros de regras do pipeline jenkins (.xml), do ficheiro de regras do CPILint (.xml) e do ficheiro de regras do CodeNarc (Groovy) através da interface web para a base de dados para serem usados na execução do programa.

Explorar API do Maven e a API do Cloud Integration

Realizar Testes na API Maven:

  • listar vulnerabilidades da versão do ficheiro JAR, retornar o link com as vulnerabilidades e mostrá-lo na WEB.
  • buscar a ultima versão do ficheiro.

Objetivos:

  • A partir de um ficheiro JAR, abrir ou detectar de alguma forma qual a sua versão, lançar o nome desse JAR e a versão da API.
  • Listar as vulnerabilidades através de uma chamada à API do Maven.
  • Buscar a ultima versão atual que não possui essas vulnerabilidades. (Utilizar Postman).

Fazer tela de formulario para executar CPI Lint

Desenvolver formulário web para executar cpi lint via interface user-friendly que deve reunir os seguintes requisitos:

  • selecionar ficheiros de regras para ler;
  • selecionar os parâmetros do cpilint;
  • botão para executar;

Tarefas adicionais que surgem no seguimento deste formulário:

  • tela de exibição de relatório: após executar deve gerar e exibir um relatório com todos os erros que o conjunto selecionado de IFlows apresentou de acordo com as regras selecionadas;

  • tela para configurar o ficheiro WEB.xml (formulario de regras) - deve ser possível clicar numa determinada "regra1" e editá-la através de um formulário web, i.e, conseguir editar o ficheiro Web XML.
    -- é necessário ter uma BD para guardar todas as regras, ter opção de adicionar/remover regras.
    -- no formulario das regras mencionado acima, devemos ter opção de ativar / desabilitar a regra.

Refactor & Separate Concerns (Frontend services)

  • Introduce a PackagesService to encapsulate package-related operations.
  • Move the HTTP request and data transformation logic to the service.
  • The PackagesComponent should depend on the PackagesService for fetching packages.
  • Improve error handling in the service.
  • Use App Constants for API Paths

Fazer tela para configurar o ficheiro WEB.xml (formulário de regras)

  • tela para configurar o ficheiro WEB.xml (formulario de regras) - deve ser possível clicar numa determinada "regra1" e editá-la através de um formulário web, i.e, conseguir editar o ficheiro Web XML.
    -- é necessário ter uma BD para guardar todas as regras, ter opção de adicionar/remover regras.
    -- no formulario das regras mencionado acima, devemos ter opção de ativar / desabilitar a regra.

Correr, explorar e estudar CPI Lint

Correr CPI Lint em ambiente desktop:

  • entender como é que o cpilint faz START usando o WEB.xml
  • verificar como acede o ambiente de design para obter o ficheiro zip e fazer a leitura (descompacta? o que faz? como é que ele descompacta e fica com os ficheiros em ambiente desktop, para entendermos como fazer em web)
  • descobrir qual o arquivo que faz o start, a leitura do XML, quais os parâmetros que recebe (mas em vez de os receber em desktop, recebemos em formularios web que permitem o utilizador preencher os parâmetros e selecionar os ficheiros de regras)

GitHub: Criar endpoints e tela

Frontend:

  • Criar tela no frontend para receber as credencais/chave para aceder ao github(aqui prob+vevelmente tem de se criar uma chave ssh e importar para a nossa bd mas não sei ).

Backend:

  • Criar endpoint para guardar as credencais/chave incriptada
  • Criar endpoint para carregar ficheiro e enviar para o github(este endpoint deve assumir que se não disser nada coloca o ficheiro no branch principal mas se vier algum nome cria o branch se não exitir e coloca lá o ficheiro).

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.