Git Product home page Git Product logo

bolseiro's Introduction

Bolseiro

Quality Gate Status Bugs Code Smells Coverage

Bolseiro é uma Single Page Application que possibilita um bolsista de uma agência federal verificar se sua bolsa de um determinado mês e ano já foi paga ou não.

Somente foram feitos testes para bolsistas da agência CAPES.

A aplicação está disponível neste endereço.

Como funciona

A aplicação verifica no Portal da Transparência a situação da ordem bancária referente ao CPF do bolsista informado pelo formulário da aplicação.

A consulta é automatizada e só varia de acordo com os parâmetros do usuário. Devido a alteração de como o site do Portal da Transparência interage com o usuário, foi necessário a mudança do modo como os dados da bolsa eram recuperados.

Mesmo com uma API disponibilizada, ela não se mostra consistente quando se trata de disponibilidade, uma vez que é raro conseguir uma resposta com os dados, já que na maior parte do tempo essa API retorna erro de consulta. Para isso, é feita a mesma query que seria feita se o usuário estivesse acessando pela página de busca, a mesma URL é utilizada, porém, os parâmetros da consulta variam de acordo com os dados do usuário.

Dificuldades encontradas

A maior dificuldade é depender do allOrigins para executar a query no servidor, uma vez que esse serviço por vezes fica indisponível.

A utilização do CORS-Anywhere é necessária devido às restrições de segurança impostas pelo Chrome

Dependências

Essa aplicação se apoia nas seguintes tecnologias:

  • React como framework de criação de SPA;
  • TypeScript como linguagem no lugar do JavaScript;
  • Axios para execução de requisições AJAX;
  • Font Awesome para utilização de ícones;
  • allOrigins para solucionar o problema de referência cruzada;

Changelog

v3.0

Refatoração completa da aplicação para React com TypeScript, deixando de utilizar CDN para importação de bibliotecas. A motivação para esse refatoramento foram as constantes quebras da aplicação devido as atualizações das bibliotecas de terceiros que sempre eram referenciadas pela versão mais recente ao utilizar CDN.

v2.0

Alterações para utilizar a API do Portal da Transparência, uma vez que a área de pesquisa foi reformulada, o que inutilizou o processo que era feito anteriormente.

v1.0.1

Versão com tratamentos de exceções de erros das requisições AJAX.

v1.0

Versão inicial da aplicação, baseada na raspagem de dados da página de consultas e utilizando de bypass de CORS.

TODO

  • Testes de componentes;
  • Testes e2e;
  • Estilos diferentes de cards para as etapas do documento bancário (empenho, liquidação e pagamento)

bolseiro's People

Contributors

jpmoura avatar

Watchers

 avatar

bolseiro's Issues

Refatoração para React

Necessária alteração de VueJS para React devido as constantes quebra da aplicação graças ao uso de código incorporado ao HTML na tag script utilizando as bibliotecas de terceiros através de CDN, o que implicava sempre utilizar as versões mais recentes, que fatalmente traziam consigo breaking changes.

Outra motivação para o uso de React é deixar de usar a biblioteca Vuetify, que não está tão completa como a Material UI do React.

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.