Giter VIP home page Giter VIP logo

buscador-ao's Introduction

Buscador.ao

GitHub language count Build Status Repository size GitHub last commit Repository issues License

Techs   |    Project   |    Avaliable Routes   |    How to Build Setup   |    How to Contribute   |    License   |    Author

🚀 Techs

Este projecto foi desenvolvido usando as seguintes tecnologias:

💻 Project

Ponto de obtenção de informações públicas - https://buscador.ao

Avaliable Routes

Rotas existentes no momento:

  • [ deprecated ] nif/:nif permite retornar informações de um nif. ( No momento a rota existe, porém será eliminada posteriormente ).

    {
      "data": {
        "nif": ":nif:",
        "name": "Acidiney Alvaro  Carvalho Soares Dias",
      },
      "source": "Buscador"
    }
  • [ NEW ] GET search/document, permite validar os documentos do tipo ['NIF', 'BI']. ( esses parametros type e number devem ser enviados como query, caso queira testar pelo navegar recomendo usar no metodo acima ) eg:

    • Para BI
      axios.get('https://buscador.ao/search/document', {
        type: 'BI',
        number: 'número do BI a ser válidado'
      })

    Isso deve retornar

      {
        "data": {
            "name": "ACIDINEY ALVARO CARVALHO SOARES DIAS",
            "bi": "meu-bi"
        },
        "source": "Buscador"
      }
    • Para NIF
      axios.get('https://buscador.ao/search/document', {
        type: 'NIF',
        number: 'número do NIF a ser válidado'
      })

    Isso deve retornar

      {
        "data": {
            "name": "ACIDINEY ALVARO CARVALHO SOARES DIAS",
            "nif": "meu-nif"
        },
        "source": "Buscador"
      }

How to Build Setup

# development
$ npm run start

# watch mode
$ npm run start:dev

# production mode
$ npm run start:prod
​```

## Test

```bash
# unit tests
$ npm run test

# e2e tests
$ npm run test:e2e

# test coverage
$ npm run test:cov

🤔 How to Contribute

  • Faça Fork deste repositório;
  • Crie sua branch com a sua funcionalidade: git checkout -b my-feature;
  • Commit suas mudanças: git commit -m 'feat: my new feature';
  • Envie suas mudanças para o Githuh: git push origin my-feature.

Depois de feito merge da sua PR, pode apagar a branch!

📝 License

Este projecto está sobre licensa MIT. Verifique o arquivo LICENSE para mais informações.

Author

Acidiney Dias

buscador-ao's People

Contributors

acidiney avatar deepsourcebot avatar dependabot[bot] avatar franciiscocampos170 avatar josecage avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

buscador-ao's Issues

WIP: Procurar por carta de condução

Motivação

Permitir validar uma carta de condução, para verificar os detalhes da mesma.

Procurando por uma fonte confiavél para obter estes dados

Objectivo

Modelo

Acções a se tomar

Conclusão

[FR] Enriquecer o payload de retorno na busca por NIF

Comportamento atual

Na busca por um NIF o payload de retorno apenas contém informacões sobre o Nome & NIF.

{
    "data": {
        "name": "...",
        "nif": "..."
    },
    "source": "Buscador"
}

Comportamento esperado

Retornar um payload mais rico acrescentando propriedades importantes em uma consulta por NIF. Sug.: Tipo de NIF a ser consultado (Empresarial, Pessoal) e o Estado do mesmo.

{
    "data": {
        "name": "...",
        "nif": "...",
        "type": "...",
        "state": "..."
    },
    "source": "Buscador"
}

CC: @acidiney

Adicionar validação de BI

Motivação

Em vista de manter toda fonte de informações no país publica, permitir validar BI igual ao NIF vai dar um up nas aplicações

Objectivo

Da mesma forma que consigo retornar os nifs das pessoas, retornar os BI's dos usuários pode ajudar as fintechs e outras soluções a garantirem a integridade das informações dadas pelos seus clientes.

Ações a se tomar
Dado um bi na rota bi/:bi retornar se esse existe e a quem pertence... Acredito que apenas essas informações por agora, possa ser possível recuperar.

Conclusão

Mas um modulo para aplicações que requerem um certo nível de informações confiaveis no cadastro.

Adicionar busca por escolas

Olá pessoal, está issue é uma algo que estive a analisar recentemente e acredito que possa fazer sentido para algumas casos.

Eu já trabalhei em sistemas em que o usuário criava a conta e tinha que adicionar formação académica. Nós sabemos o quão difícil é saber verdadeiramente quantas pessoas estão em média registados em uma escola, justamente porque nós permitimos que o usuário diga qual escola ele está. Então de formas a manter isso padronizado, sugiro essa issue, que consiste em retornar um número agregado de escolas consoante um filtro.

A ideia é que retorne a escola, província, município e se possível latitude e longitude das mesmas.

Adicionar endpoints para retornar países, províncias e bairros

Motivação

Meu objetivo é ter um local que possa abstrair as necessidades recorrentes dos desenvolvedores nas suas apps.

Objectivo

Quase todo mundo que conheço que é dev sempre pergunta se alguém tem uma lista com países/províncias/bairros.. Eu acredito que você também já ouviu isso ou procurou.
E sim eu sei que já existem soluções para isso, mas acredito que pode ajudar se alguém já está usando o buscador.ao pegar essas informações de lá e não ter que consultar uma API terceira ou ter isso internamente no seu projecto.

Ações a se tomar

  • Pegar um json com essas informações e adicionar ao projecto.
  • Gerar uma interface para quem deseja fazer uma correção em alguma informação que possa estar incorreta.
  • Deixar acessível nos seguintes endpoints:
    • /countries -> Retorna todos os países
    • /countries/:id -> Retorna o aglomaredado de informações do país, isso inclui também as províncias
    • /countries/:id/:state -> Retorna detalhes da província e os municípios
    • /countries/:id/:state/:city -> Isso retorna detalhe do municio e os bairros, como também o CEP de cada bairro ( no caso de ser aprovado a outra issue )

Conclusão

Acredito que isso pode retirar alguma responsabilidade da aplicação e passar para o modulo terceiro

Permitir retornar CEP's angolanos

Motivação

A ideia inicial no buscador-ao era retona nif's existentes em Angola. Porém com o andamento do projecto, decidi adicionar algumas funções que espero que sejam bem vistas por parte da comunidade angolana.

Objetivo

Disponibilizar um endpoint para verificar um determinado CEP angolano e uma interface gráfica que as pessoas que não conhecem podem verificar o seu CEP por intermédio do País, Província, Cidade e Bairro.

Ações a se tomar

  • Mandar um e-mail para os correio de Angola para saber se existe e se podem disponibilizar essas informações.

  • No caso, da primeira ação não funcionar, gerar automaticamente através de um algoritmo esses CEP e guardar eles aqui, para o pessoal avaliar.

  • Feita a avaliação e a publicação do mesmo disponibilizar a release para todos poderem usar, num endpoint semelhante a este:
    /cep/:xxxx-xxxx

Conclusão.

Acredito que esse recurso seja uma mais valia para todos, não só os developers mais também o publico em geral que compra pela internet, ter uma API que retorna essas informações pode ajudar a TUPUCA por exemplo a identificar um endereço pelo CEP ou a Kubinga a fazer um melhor trajeto para onde o cliente quer receber a encomenda.

E sim, eu sei que o nosso problema vai mais além do que isso, a questão do Google também entra nesta issue. Mas vamos tentar resolver cada coisa de uma vez? ^^

Adicionar um endpoint para previsão do tempo

Motivação

Ter um local que possa abstrair as necessidades recorrentes dos desenvolvedores nas suas aplicações.

Objectivo

Disponibilizar um endpoint para fornecer dados meteorológicos de uma determinada província do País

Modelo

{
    "status": 200,
    "província": "Lunda Sul",
    "previsao_de_tempo_actual": {
        "Descrição": "Soalheiro",
        "Temperatura": "27º",
        "Humidade": "27%",
        "Vento": "10km/h (180º S)",
        "Temperatura Sentida": "26º",
        "Temperatura Sentida na Sombra": "26º",
        "Precipitação (última hora)": "0 mm", 
        "Ultra Violetas": "Baixa (1)", 
        "Cobertura de Nuvens": "0",
        "Pressão": "1012 mb" 
    }
 }

Acções a se tomar

  • Pegar os dados via web scrapping do site oficial do INAMET

  • Deixar acessível nos seguintes endpoints

    • /forecast -> Retorna a previsão do tempo de todas as províncias
    • /forecast/:id -> Retorna a previsão do tempo de uma determinada província

Conclusão

Isso pode ajudar quem vai desenvolver apps que de alguma maneira irão precisar de informações sobre o tempo cá em Angola

Website para documentação

Adicionar um site no dominio buscador.ao para a documentação da api e parar de redirecionar para o Github.

Domain

  • docs.buscador.ao

Ou podemos manter a documentação em buscador.ao e mudar a API para api.buscador.ao ( O que seria uma break change )

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.