Code Monkey home page Code Monkey logo

fga-eps-mds / 2019.2-vsign Goto Github PK

View Code? Open in Web Editor NEW
6.0 16.0 9.0 11.2 MB

O Vsign realiza assinatura através de gravação de vídeo com análise automática e notificação dos resultados em tempo real. ✅ Servidor de homologação: https://develop.dar0d46dq2rcb.amplifyapp.com/ ✅ Servidor de produção: https://master.dar0d46dq2rcb.amplifyapp.com/ ✅ Documentação do projeto:

Home Page: https://fga-eps-mds.github.io/2019.2-Vsign/

License: GNU General Public License v3.0

Dockerfile 0.19% Ruby 47.72% HTML 1.11% Shell 0.08% CSS 1.78% JavaScript 49.12%

2019.2-vsign's Introduction

CircleCI Maintainability Test Coverage License: GPL v3

Conheça esta inovação ainda mais segura para você!

Sobre o projeto

   O Vsign realiza assinatura através de gravação de vídeo com análise automática e notificação dos resultados em tempo real; um contratante submete um vídeo confirmando que aceitou os termos do contrato, proporcionando uma forma de assinatura fácil, rápida e segura, oferecendo comodidade e maior flexibilidade em contraste com as soluções de contratos atuais

Overview de nossa aplicação

Landing Page
drawing
Login
drawing
Meus contratos
drawing
Guia de assinatura
drawing
Upload do documento
drawing
Roteiro
drawing
Gravação
drawing
Revisão
drawing

Guia de Contribuição

Caso deseje contribuir com o projeto considere nosso CONTRIBUTING e CODE OF CONDUCT

Guia para rodar o projeto com o Docker

  • Instalação

Para o uso é necessário possuir o Docker e o Docker Compose em sua máquina.

Instalação Docker

Instalação Docker-compose.

  • Rodando a aplicação

Entre na pasta raíz do projeto em que está localizado o docker-compose.yml e digite no terminal:

   Primeiro (Enquanto não houver alterações no Gemfile, package.json ou Dockerfile, não precisará repetir o comando):

  docker-compose build

   Em seguida use o comando para subir o ambiente com logs.

  docker-compose up

   Após ter subido o ambiente em um terminal, caso seja a primeira vez que esteja rodando a aplicação, crie o banco (em outro terminal e com o ambiente ainda rodando no anterior):

  docker-compose run backend rake db:create

   Espere até que todos os serviços estejam disponíveis, acesse os servidores com os seguintes endereço:

Para subir um ambiente apenas, navegue até a pasta correspondente /backend ou /frontend onde se encontra o docker-compose.yml

  docker-compose up
  • Comandos Principais

   Para subir o ambiente com logs digite: (Criará a imagem baseado no Dockerfile e criará os containers de serviços que definimos no docker-compose.yml)

 docker-compose up

   Para desligar o ambiente de maneira completa. (Para e remove os containers, networks, volumes e imagens criadas pelo "up")

 docker-compose down

   Para executar comandos depois de ter subido o docker-compose. (Dentro do seu novo ambiente)

    Maneira direta. Exemplo: (Dirá a versão do Rails ou Node)

 docker-compose run backend rails -version

 docker-compose run frontend node --version

    Para abrir um prompt interativo para usar quantos comandos desejar: (Para sair digite: exit)

 docker-compose run backend sh

 docker-compose run frontend sh

2019.2-vsign's People

Contributors

kairon-v avatar foxtrot40 avatar marcosfloresta avatar thiagorpereira avatar caue96 avatar viniciuspuerto avatar victorcommite avatar williamtpv avatar marcosgtavares avatar dependabot[bot] avatar joenio avatar

Stargazers

Leonardo avatar Brena Monteiro avatar  avatar  avatar  avatar  avatar

Watchers

James Cloos avatar Wesley Araujo avatar Lucas Cunha avatar Carla Rocha avatar  avatar Ygor Galeno avatar Eduardo Nunes avatar  avatar Gabriela Alves da Gama avatar Isaque Alves avatar  avatar Filipe Dias avatar  avatar  avatar  avatar  avatar

2019.2-vsign's Issues

Criar Documento de Arquitetura

Descrição

Criar documento de arquitetura do projeto.

Tasks

  • Criar página na documentação para o documento de arquitetura.

US10 - Notificar usuário sobre resultado da assinatura

Descrição
Como usuário, desejo ser notificado sobre o resultado da minha assinatura de vídeo.

Critérios de aceitação

  • Notiificar usuário via email;
  • Criar template de email para assinatura aprovada;
  • Criar template de email para assinatura recusada;
  • O email de assinatura recusada deve ter instruções do que o usuário pode fazer para ter sua assinatura aprovada.
  • Enviar email via SendGrid;

Documentar guia de uso do projeto

Descrição

Criar documento de guia de uso do projeto

Tasks

  • Inserir guia de instalação do docker e docker-compose
  • Descrever comandos para rodar o projeto
  • Descrever comandos para ser usado enquanto o ambiente está em execução
  • Documentação deve estar no README.md

US05 - Versionar API Rest

Descrição
Versionar a API Rest que será pública.

Critérios de aceitação

  • No arquivo de rotas, colocar v1 para a API Rest que será de uso público.

Integrar e configurar ZenHub

Descrição

Integrar e configurar ZenHub ao repositório.

Tasks

  • Integrar ZenHub
  • Definir pipeline
  • Definir milestones

Configurar Ambiente de Desenvolvimento

Descrição

Configurar docker para execução dos projetos em desenvolvimento e em ambiente de produção. A configuração deve ser feita de forma que a equipe de desenvolvimento possa executar o projeto sem a necessidade de realizar configurações manuais.

Tasks

  • Configurar docker para desenvolvimento do backend
  • Iniciar Rails API-only
  • Configurar docker para desenvolvimento do frontend
  • Iniciar React-app

Critérios de aceitação

  • A configuração do ambiente deve seguir a estrutura de pastas definida #2
  • Servidores devem estar configurados para o uso em diferentes portas

Fazer Diagrama de Classe

Descrição

Diagrama de classe para mostrar classes, atributos e as relações entre as classes do projeto.

US04 - Criar novos contratos

Descrição

Como empresa, desejo criar novos contratos para serem assinados via serviço da VSign por vídeo.

Critérios de aceitação

  • Criar endpoint utilizando conceitos REST para recebimento de informações do contrato;
  • Identificar empresa através de seu CLIENT_ID;
  • Realizar a montagem do roteiro conforme o template da empresa;
  • Criar usuário com senha aleatória e nome e email conforme enviado pela empresa, caso este não possua conta no VSign (considerar existência do email)

US01 - Mostrar Roteiro

Descrição

Como usuário eu quero poder visualizar o roteiro para saber qual o texto que deverá ser dito para assinatura do contrato.

Critérios de aceite

  • O roteiro deve ser apresentado em bloco durante a gravação do vídeo, para ficilitar a leitura do texto;
  • Deve possuir um botão para avançar para o próximo bloco;
  • Quando o roteiro for finalizado, deve ser apresentado um botão para finalizar a gravação.

US12 - Apresentar lista de contratos do usuário

Descrição
Como usuário, desejo visualizar a lista de contratos disponíveis para minha conta para que eu possa acompanhar o andamento das validações.

Critérios de aceitação

  • A consulta dos contratos deve ser feita via GraphQL;
  • Utilizar o protótipo como referência para criação da lista;

US08 - Documentar API Rest

Descrição
Como desenvolvedor, desejo documentar a API Rest do VSign para que seja utilizada como referência para desenvolvimento no código.

Critérios de aceitação

  • Utilizar algum serviço como Postman para documentar os endpoints da API.

Call com CTO da BxBlue

Descrição

Primeira conversa com o CTO da BxBlue. Ele foi quem elaborou os requisitos iniciais do desafio. A conversa será para que possamos nos conhecer e definir algumas coisas como nossa comunicação, expectativas com relação ao projeto, etc.

Tasks

  • Realizar call

US15 - Revisar vídeo de assinatura

Descrição

Como usuário, quero revisar meu vídeo de assinatura para verificar se está como o esperado.

Critérios de aceitação

  • Permitir o usuário assistir o vídeo gravado;
  • Mostrar o roteiro completo para o usuário (para que o usuário veja se o que foi falado no vídeo está de acordo com o roteiro);
  • Permitir que o usuário finalize a assinatura (preparação para upload do vídeo e imagens);
  • Permitir que o usuário reinicie o processo de assinatura.

Gerar gitflow do projeto

Descrição

Gerar uma política de branchs que mostre para os contribuidores do projeto como está estruturado a camada de branchs do projeto.

Definir e configurar Folha de Estilo

Descrição

Definir folha de estilo para apoio e padronização do código ao desenvolvimneto do projeto

Critérios de aceitação

  • Configurar ferramente de lint para o React
  • Configurar ferramente de lint para o Rails
  • Documentar no github pages
  • Link do Documento disponível na issue

Criar team no Slack

Descrição

Criar team no slack para adicionar os membros do projeto, assim como o Fabrício da BxBlue.

US07-Organização Das Pastas FrontEnd

Como desenvolvedor, eu quero organizar as pastas no frontend para que o desenvolvimento se dê de forma mais organizada

Critérios de aceite

  • Pastas seguindo um critério;

Bug ao rodar mkdocs serve

Descrição
Ao clonar o repositório e tentar rodar o docs com mkdocs serve ele reclama de não existir o arquivo README.md dentro de /docs. Adicionando um README.md vazio gera o segundo erro.

Passo a Passo
Passo a passo para se reproduzir o bug:

  1. Go to repository folder
  2. Run mkdocs serve
  3. See bug 1
  4. Create README.md inside /docs
  5. See bug 2

Comportamento Esperado
Executar o comando para rodar os docs no localhost

Screenshots
bug2

bug

Informações do Desktop:

  • OS: Ubuntu
  • Versão do OS: 16.04 LTS
  • Browser: Google Chrome
  • Versão do Browser: 76.0.3809.132 (Official Build) (64-bit)

US03 - Tirar fotos durante gravação de vídeo

Descrição
Como usuário, desejo que sejam tomadas fotos de minha face durante a gravação do vídeo e em momentos específicos para realizar o face matching da assinatura.

Critérios de aceite

  • A primeira foto deve ser feita 2 segundos após o início da gravação;
  • As demais fotos devem ser feitas 2 segundos após o usuário avançar na leitura do roteiro.
  • As imagens devem ser armazenadas de forma que seja possível enviá-las para a API posteriormente.

BUG#12 - Configurar Ambiente de Desenvolvimento

Descrição

GitHub deu um alerta dizendo que achou achou potenciais vunerabilidades de seguranças em dependências do repositório.

Passo a Passo

Sem necessidade de passo a passo, pois o erro é de segurança em dependências.

Comportamento Esperado

O GitHub não apresentar mais mensagem de problemas com vunerabilidade de dependências do repositório.

Screenshots

image

Informações do Desktop:

  • OS: Sem necessidade de especificar
  • Versão do OS: Sem necessidade de especificar
  • Browser: Sem necessidade de especificar
  • Versão do Browser: Sem necessidade de especificar

Treinamento de Metodologia

Descrição

Explicar para o time a metodologia Agile e explicar os framework Scrum e XP que serão utilizadas durante o projeto.

US16 - Landing Page

Descrição

Como usuário quero ter acesso a uma landing page para que o produto me seja apresentado

Critérios de aceite

  • [ ]

US06 - Enviar informações de novo contrato para o usuário

Descrição
Como usuário, desejo receber informações via email de novos contratos para assinatura.

Critérios de aceitação

  • Criar template de email no SendGrid;
  • O corpo do email deve possuir um botão para que leva o usuário direto a página para assinatura do contrato, sem a necessidade de logar com email e senha;
  • Enviar as informações via email.

US11 - Template para roteiros

Descrição
Como empresa, desejo ser possível criar template de emails para meus contratos para que possam ser feitas assinaturas.

Critérios de aceitação

  • Criar model para armazenamento do template;
  • Criar variações de um mesmo template;
  • Associar o template com uma empresa;
  • Salvar o conteúdo do template em blocos de texto;
  • Possibilidade de usar macros nos blocos de texto;

Configurar ambiente de Documentação

Descrição

Configurar ambiente para inclusão de artefatos do projeto tal que seja criado um site estático a cada entrega sem que seja realizado configurações manuais de HTML, CSS e JS

Critérios de aceitação

  • Inicializar MKdocs project;
  • Utilizar GitHub Pages para hospedar a documentação;
  • Pasta /docs deve seguir a estrutura de pasta definida #2 .

Elaborar treinamentos para equipe de desenvolvimento

Elaborar os treinamentos iniciais para a equipe de desenvolvimento.

Treinamentos sugeridos:

  • Docker
  • Framework (a ser definido de acordo com o tema)
  • Arquitetura (a ser definida)
  • Metodologia de desenvolvimento do projeto

Cheatsheet de Markdown

Descrição
Nesse site tem um cheatsheet de markdown que pode ajudar a criar os documentos.
https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet#emphasis

US13 - Apresentar dicas para assinatura de contrato

Descrição
Como usuário, desejo visualizar dicas e instruções para auxílio na assinatura de um contrato.

Critérios de aceitação

  • Criar tela para apresentação das instruções;
  • Deve ter um botão que leva para a página de gravação de vídeo Iniciar Assinatura.

Treinamento de Docker

Descrição

Introduzir ao time os conceitos básicos de docker, mostrar na prática como ele funciona e iniciar configuração do docker no projeto.

Reportar erro no roteiro

Descrição

Como usuário, desejo reportar erros no roteiro do meu contrato para que a empresa possa realizar a correção.

Critérios de aceite

  • Antes da tela de instruções de assinatura, deve ter uma tela que apresente o roteiro completo.
  • Opção para o usuário reportar o erro no roteiro. Pode ser um botão com o texto "Reportar Erro";
  • Apresentar um campo para livre escrita para que o usuário possa dizer o que está errado.
  • Notificar empresa Company via email, relatando o erro reportado pelo usuário.
  • Armazenar no banco de dados o erro relatado pelo usuário.

Definir estrutura do repositório

Realizar a criação de pastas necessárias para o desenvolvimento do projeto. Pastas sugeridas inicialmente: backend, frontend, docs.

O readme também deve ser criado.

Treinamento de React

Descrição

Introduzir ao time os conceitos básicos de React, melhores práticas e uso da biblioteca no projeto.

Criar Documento de Visão

Descrição

Criar documento de visão.

Tasks

  • Criar página na documentação para o documento de visão

Estudos sobre metodologia, artefatos e papéis

Descrição

Estudos realizados por toda a equipe com relação a metodologia que será aplicada no desenvolvimento do projeto, artefatos que devem ser gerados e papéis dos membros da equipe. Fontes dos estudos e pontos mais importantes de cada fonte deverão ser colocados nessa issue.

US02 - Gravar Vídeo de Assinatura

Descrição

Como USUÁRIO, desejo gravar vídeo para realizar assinatura de contrato.

Critérios de aceitação

  • Solicitar permissão de uso do microfone e câmera;
  • Caso o usuário não autorize, a recusa deve ser tratada;
  • Gravar vídeo e áudio do usuário;
  • Sobre a imagem da câmera, deve ser mostrado um marcador quadrado para que o usuário tenha referência de onde deve-se posicionar para gravação do vídeo (conforme protótipo)'
  • Apresentar timer para mostrar ao usuário sobre a duração do vídeo;
  • Apresentar informação se o vídeo está sendo gravado ou não.

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.