Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Angola-Api/Angola-Api
https://github.com/Angola-Api/Angola-Api
Last synced: 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/Angola-Api/Angola-Api
- Owner: Angola-Api
- License: other
- Created: 2021-02-20T19:10:24.000Z (over 3 years ago)
- Default Branch: develop
- Last Pushed: 2024-04-21T21:59:15.000Z (7 months ago)
- Last Synced: 2024-05-29T17:18:47.980Z (6 months ago)
- Language: TypeScript
- Size: 955 KB
- Stars: 221
- Watchers: 17
- Forks: 66
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-made-by-angolans - Angola-Api
README
#
Angola API
Vamos transformar Angola em uma API?
Que tal pegarmos a ideia do Brasil API e levarmos em Angola?
Sobre o Projecto |
Tecnologias |
Endpoints |
Como Contribuir |
License |
Colaboradores |
Autores## :bulb: Sobre o projecto
Imagina um país com 1.246.700 km² com cerca de 30 milhões de habitantes distribuído em 18 províncias, mas não possui uma API pública para consulta de diversas informações sobre finanças, geografia ou validação de dados. Pois é, um grande problema.
Face a esse problema nos inspiramos na organização brasileira chamada [Brasil Api](https://github.com/BrasilAPI/BrasilAPI/) e decidimos reunir o maior número de informações necessária sobre Angola e distribuir de forma gratuita.
Nós conseguimos distribuir algumas informações bancarias como :
- Taxa de juro do BNA
- Taxa de juro Luibor (Taxa Interbancária de Oferta de Fundos do Mercado de Luanda)
- Taxa de inflação
- Taxas de câmbio no BNA
- Taxas de câmbio nos bancos comerciais
- Taxas de juros de bancos comerciais
Todas as informações acima são extraídas diretamente do site https://www.bna.ao.
Também decidimos disponiblizar endpoints para validar as seguintes informações :
- Bilhete de identidade
- Passaporte
- Número de telefone
Importante realçar que também conseguimos disponiblizar conteúdos como :
- Lista de provincias de Angola
- Lista de munícipios de uma província
- Lista de distritos de um munícipio
## :hammer_and_wrench: Tecnologias
Este projecto foi construído usando as seguintes tecnologias:
- [Javascript](https://www.w3schools.com/js/)
- [TypeScript](https://www.typescriptlang.org/)
## :link: Endpoints
Embaixo segue a lista e descrição de endpoints implementados nesse projecto.
OBS: SSL está desabilitado nos endpoints.
### Geography
#### Províncias
Retorna a lista de províncias do território nacional ou apenas uma província se o ID for informado.
**GET** `https://angolaapi.onrender.com/api/v1/geography/provinces`
##### Exemplo da consulta
```json
// GET https://angolaapi.onrender.com/api/v1/geography/provinces
[
{
"id": "6032c083c5686966bcc04202",
"nome": "Bengo",
"codigo": "BGO",
"capital": "Caxito",
"area": 15506,
"populacao": 356641,
"municipios": 6,
"comunas": 23
},
{
"id": "6032c083c5686966bcc04203",
"nome": "Benguela",
"codigo": "BGU",
"capital": "Benguela",
"area": 31788,
"populacao": 2231385,
"municipios": 10,
"comunas": 38
},
{
"id": "6032c083c5686966bcc04204",
"nome": "Bié",
"codigo": "BIE",
"capital": "Cuíto",
"area": 70314,
"populacao": 1455255,
"municipios": 9,
"comunas": 39
},
...
]
```
**GET** `https://angolaapi.onrender.com/api/v1/geography/provinces/`**[id]**
##### Exemplo da consulta
```json
// GET https://angolaapi.onrender.com/api/v1/geography/provinces/6032c083c5686966bcc04210
{
"id": "6032c083c5686966bcc04210",
"nome": "Moxico",
"codigo": "MOX",
"capital": "Luena",
"area": 223023,
"populacao": 758568,
"municipios": 9,
"comunas": 27
}
```
#### Munícipios
Busca pelos munícipios de uma determinada província
**GET** `https://angolaapi.onrender.com/api/v1/geography/county?provincia=`**[municipio]**
##### Exemplo da consulta
```json
// GET https://angolaapi.onrender.com/api/v1/geography/county?provincia=Luanda
[
{
"id": "6032c086c5686966bcc04270",
"descricao": "",
"nome": "Belas",
"provincia": "Luanda"
},
{
"id": "6032c086c5686966bcc04271",
"descricao": "",
"nome": "Cacuaco",
"provincia": "Luanda"
},
{
"id": "6032c086c5686966bcc04272",
"descricao": "",
"nome": "Cazenga",
"provincia": "Luanda"
},
{
"id": "6032c086c5686966bcc04273",
"descricao": "",
"nome": "Ícolo e Bengo",
"provincia": "Luanda"
},
{
"id": "6032c086c5686966bcc04274",
"descricao": "",
"nome": "Luanda",
"provincia": "Luanda"
},
{
"id": "6032c086c5686966bcc04275",
"descricao": "",
"nome": "Quilamba Quiaxi",
"provincia": "Luanda"
},
{
"id": "6032c086c5686966bcc04276",
"descricao": "",
"nome": "Quissama",
"provincia": "Luanda"
},
{
"id": "6032c086c5686966bcc04277",
"descricao": "",
"nome": "Talatona",
"provincia": "Luanda"
},
{
"id": "6032c086c5686966bcc04278",
"descricao": "",
"nome": "Viana",
"provincia": "Luanda"
}
]
```
### Validate
#### Bilhete de identidade
Verifica se número informado é um bilhete de identidade nacional.
**GET** `https://angolaapi.onrender.com/api/v1/validate/bi/`**[bi]**
##### Consulta com sucesso
```json
// GET https://angolaapi.onrender.com/api/v1/validate/bi/006151112LA041
// Status: 200
{
"success": true,
"message": "This is an Angola valid bi number"
}
```
##### Consulta com erro
```json
// GET https://angolaapi.onrender.com/api/v1/validate/bi/006151112LA04A
// Status: 400
{
"success": false,
"message": "Invalid bi number"
}
```
#### Passaporte
Retorna se o registo informado é aceitavél como identificador de um passaporte angolano.
**GET** `https://angolaapi.onrender.com/api/v1/validate/passport/`**[passport]**
##### Consulta com sucesso
```json
// GET https://angolaapi.onrender.com/api/v1/validate/passport/n1234566
// Status: 200
{
"message": "This is an Angola valid passport number"
}
```
##### Consulta com erro
```json
// GET https://angolaapi.onrender.com/api/v1/validate/passport/n12345667
// Status: 400
{
"message": "Invalid passport number"
}
```
#### Telefone
Verifica se o número informado é de Angola e a qual operadora pertence.
**GET** `https://angolaapi.onrender.com/api/v1/validate/phone/`**[phone]**
##### Consulta com sucesso
```json
// GET https://angolaapi.onrender.com/api/v1/validate/phone/+244923445618
// Status: 200
{
"message": "This is an Angola valid phone number",
"operator": "Unitel"
}
```
##### Consulta com erro
```json
// GET https://angolaapi.onrender.com/api/v1/validate/phone/+8599562562
// Status: 400
{
"message": "Invalid phone number"
}
```
## :open_hands: Como contribuir
### Chega de Português rsrsrs, abaixo os passos para contribuir no Angola Api
1. Faça um Fork no projecto ()
2. Cria uma branch com a tua feature (`git checkout -b angolaapi/new-feature`)
3. Faça um Commit com as tuas mudanças (`git commit -am 'Add new feature'`)
4. Faça um Push para a Branch (`git push origin feature/new-feature`)
5. Cria uma Pull Request
## :memo: License
Este projeto está sob a licença do MIT. Acessa: () para mais detalhes.
## :busts_in_silhouette: Colaboradores
| [
@carlcr](https://github.com/carlcr) | [
@alexxfreitag](https://github.com/alexxfreitag) |
| :---: | :---: |
| [
@ViniciusCarvalhoDev](https://github.com/ViniciusCarvalhoDev) | [
@Nurul-GC](https://github.com/Nurul-GC) |
## :bust_in_silhouette: Autores
| [
@luteroelavoco](https://github.com/luteroelavoco) | [
@adilsonfuxe](https://github.com/adilsonfuxe) |
| :---: | :---: |