brailog / backend-bxh

Repositório com o o backend da aplicação Bug x Hunter.
1 stars 0 forks source link

Repositorio voltado para o BACKEND

Bug x Hunter

Já conhece a Wiki? Lá tem infomações sobre as gem utilizadas no desenvolvimento explicações sobre organização das pastas entre outras informações.

Sumário

Objetivo

O objetivo do Bug x Hunter é baratear o custo de segurança para empresa pequenas/startups. Testes de seguranças são relativamente caros, assim empresas recém criadas e startups que não tem condições financeiras para pagar por testes, por mais que elas implementem sua própria segurança, não existe todo esse dinheiro para consultoria ou pentest profissional.

Então, "Bug x Hunter" serve para desenvolvedores que querem começar no mundo da segurança, começando a fazer BugBounty e pequenas empresas que estão dispostas a disponibilizar suas plataformas para esses desenvolvedores, e recompensá-los por seus achados, mesmo que seja uma quantia menor. Assim Desenvolvedores podem melhorar suas habilidades e empresas melhorarem suas aplicações.

Equipe

Nome Função
Adriana Alves dos Santos Engenheiro de teste
Gabriel Ramos R. Oliveira Engenheiro de Back End
Joao Gabriel Silva de Andrade Product Owner
Victor Sena de Lima Attar Scrum Master

Desenvolvimento

Para desenvolver essa aplicação web usaremos a metodologia SCRUM utilizando sprints semanais.

Metodologia de Desenvolvimento

O scrum utilizado irá funcionar da seguinte maneira:

No Desenvolvimento em si, após o levantamento das histórias do usuário teremos as funcionalidades principais a serem implantadas no MVP.

Essas atividades a serem feitas serão discutidas nas aberturas de sprint semanalmente e jogadas no backlog da sprint.

Controle de código

Usaremos a plataforma do Git Flow, pois a mesma facilita a gestão das versões do código.

GQM

O que é?

O paradigma GQM é baseado na teoria de que todas as medições devems ser orientadas em objetivos, tem que ser racionais e necessitam que sejam coletadas métricas. CAda métrica coletada é mapeada para maiores objetivos, perguntas são então derivadas dos objetivos para determinar se os mesmos foram atingidos.

Casos

  1. caso 1

    • Objetivo: Diminuir o atraso das entregas
    • Perguntas
      • Quais os principais impasses para realizar tarefas?
      • Quem são as pessoas que não estão realizando?
    • Métricas
      • Tarefas executadas por sprint
      • Tempo de atrado das tarefas
  2. caso 2

    • Objetivo: Assegurar confiabilidade da aplicação.
    • Perguntas
      • O código está sendo testado?
    • Métricas
      • Cobertura de código de testes
  3. caso 3

    • Objetivo: Sistema com operacionalidade aceitável
    • Perguntas
      • O sistema cai muito do ar?
      • O sistema apresenta muitos erros durante a navegação?
    • Métricas
      • Tempo inativo do sstema
      • Número de reports de falhas no sistema
  4. caso 4

    • Objetivo: Prover segurança dos dados dos usuário do sistema
    • Perguntas
      • Como assgurar a segurança dos dados?
      • Onde armazenar os dados dos usuários?
      • Como trafegar os dados na internet?
    • Métricas
      • Testes assegurando confiabilidade do sistema
  5. caso 5

    • Objetivo: Assegurar que o bughunter vai receber sua recompensa.
    • Perguntas
      • Como o bughunter vai ter confiança no sistema?
      • Qual o processo de recompensa do bughunter?
      • Como o bughunter vai receber sua recompensa?
    • Métricas
      • Feedback positivo dos bughunters
  6. caso 6

    • Objetivo: Diminuir o atraso das entregas
    • Perguntas
      • Quais os principais impasses para realizar tarefas?
      • Quem são as pessoas que não estão realizando?
    • Métricas
      • Tarefas executadas por sprint
      • Tempo de atrado das tarefas
  7. caso 7

    • Objetivo: Assegurar que a empresa não será cobrada por um erro do administrados.
    • Perguntas
      • Quais a principal razão de um erro do admin?
      • Como será o sistema de contestação?
    • Métricas
      • Quantidade de contestações de valores de projeto
  8. caso 8

    • Objetivo: Aumentar o conhecimento dos integrantes nas tecnologias usadas.
    • Perguntas
      • Quais os níveis de conhecimento?
      • Qual a melhor forma de aprender as tecnologias usadas no projeto?
    • Métricas
      • Diminuição de tempo feitos em cada atividade.
      • DIminuição de bugs no sistema.
  9. caso 9

    • Objetivo: Aumento de bugRequests
    • Perguntas
      • Houve um aumento de bugRequests, indicando maior utilização do sistema?
      • Houve um aumento de bugRequests por categoria de aplicação?
    • Métricas
      • Quantidade de bugRequests por categoria de aplicação.