Ferramenta de monitoramento de estoque dos bancos de sangue do estado de Pernambuco.
Bancos de sangue pesquisados:
Versão Python: 3.7.8
- Clone o repositório
- Crie um ambiente virtual (Virtualenv)
virtualenv venv
- Ative o virtualenv criado
source venv/bin/activate
- Instale os requisitos do projeto
pip install -r requirements.txt
- Instale o MongoDB
- Inicie o servico do mongo
sudo service start mongod
- Verifique o status do serviço
sudo service status mongod
-
Clone o repositório
-
Execute o comando para construir a imagem do Conteiner:
make docker.build
-
Após executar o comando anterior, execute o comando abaixo para ligar os conteiners do
docker-compose
:make docker.run
-
Após executar o comando anterior, execute o comando abaixo para acessar o shell do container
sanguine
:make docker.shell
-
Dentro do Shell do projeto, é possivel executar os seguintes scripts para atualizar os dados dos bancos de sangue:
- Alternativa utilizando Flask:
cd api/ && flask data update
- Alternativa utilizando script Python:
python run.py
- Alternativa utilizando Shellscript:
./run.sh
- Alternativa utilizando Scrapy, para executar uma Spyder específica, exemplo:
scrapy crawl hemope
- Execute a busca passando como argumento o banco de sangue a ser buscado:
Ou buscando em todos os bancos
scrapy crawl hemope
make py.crawl
- Para visualizar os dados, utilize o comando:
db.niveis.find();
- Para exportar para json ou outro tipo de arquivo, fora do shell do Mongodb, utilize:
mongoexport --db doe_sangue --collection niveis --out niveis.json
-
Certifique-se que você configurou, em seu arquivo
.env
as suas variáveis de ambiente de acordo com o arquivo.env.example
-
Para executar o servidor com as devidas configurações, você pode utilizar o comando:
make runserver
- Você deverá ser capaz de acessar o servidor através da URL:
127.0.0.1:5000
/v1/
curl -i -H 'Accept: application/json' http://127.0.0.1:5000
HTTP/1.0 200 OK
Content-Type: application/json
Content-Length: 6777
Server: Werkzeug/1.0.1 Python/3.7.8
Date: Sun, 02 Jan 2022 05:47:28 GMT
[
{
"banco": "HEMOPE",
"cidade": "Recife",
"data_extracao": "Sat, 01 Jan 2022 02:51:56 GMT",
"endereco": "RUA JOAQUIM NABUCO, 171 - CEP 52.011-900 - GRA\u00c7AS, RECIFE",
"estado": "PE",
"sangue": {
"A+": "critica",
"A-": "critica",
"AB+": "critica",
"AB-": "estavel",
"B+": "critica",
"B-": "alerta",
"O+": "critica",
"O-": "critica"
},
"unidade": null,
"url": "http://www.hemope.pe.gov.br/"
},
{
"banco": "HEMATO",
"cidade": "S\u00e3o Paulo",
"data_extracao": "Sat, 01 Jan 2022 02:51:57 GMT",
"endereco": "Rua Tom\u00e1s Carvalhal, 711 - Para\u00edso",
"estado": "SP",
"sangue": {
"A+": "estavel",
"A-": "alerta",
"AB+": "estavel",
"AB-": "estavel",
"B+": "estavel",
"B-": "alerta",
"O+": "estavel",
"O-": "alerta"
},
"unidade": null,
"url": "https://www.doesanguedoevida.com.br/banco-de-sangue-sao-paulo-jd-paulista"
}
]
/v1/?cidade=recife
curl -i -H 'Accept: application/json' http://127.0.0.1:5000?cidade=recife
[
{
"banco": "HEMOPE",
"cidade": "Recife",
"data_extracao": "Sat, 01 Jan 2022 02:51:56 GMT",
"endereco": "RUA JOAQUIM NABUCO, 171 - CEP 52.011-900 - GRA\u00c7AS, RECIFE",
"estado": "PE",
"sangue": {
"A+": "critica",
"A-": "critica",
"AB+": "critica",
"AB-": "estavel",
"B+": "critica",
"B-": "alerta",
"O+": "critica",
"O-": "critica"
},
"unidade": null,
"url": "http://www.hemope.pe.gov.br/"
}
]
/v1/?estado=PE
curl -i -H 'Accept: application/json' http://127.0.0.1:5000?estado=PE
[
{
"banco": "HEMOPE",
"cidade": "Recife",
"data_extracao": "Sat, 01 Jan 2022 02:51:56 GMT",
"endereco": "RUA JOAQUIM NABUCO, 171 - CEP 52.011-900 - GRA\u00c7AS, RECIFE",
"estado": "PE",
"sangue": {
"A+": "critica",
"A-": "critica",
"AB+": "critica",
"AB-": "estavel",
"B+": "critica",
"B-": "alerta",
"O+": "critica",
"O-": "critica"
},
"unidade": null,
"url": "http://www.hemope.pe.gov.br/"
}
]
/?banco=hemope
curl -i -H 'Accept: application/json' http://127.0.0.1:5000?banco=HEMOPE
[
{
"banco": "HEMOPE",
"cidade": "Recife",
"data_extracao": "Sat, 01 Jan 2022 02:51:56 GMT",
"endereco": "RUA JOAQUIM NABUCO, 171 - CEP 52.011-900 - GRA\u00c7AS, RECIFE",
"estado": "PE",
"sangue": {
"A+": "critica",
"A-": "critica",
"AB+": "critica",
"AB-": "estavel",
"B+": "critica",
"B-": "alerta",
"O+": "critica",
"O-": "critica"
},
"unidade": null,
"url": "http://www.hemope.pe.gov.br/"
}
]
/bancos-cadastrados/
curl -i -H 'Accept: application/json' http://127.0.0.1:5000/bancos-cadastrados/
[
{
"banco": "HEMOPE",
"cidade": "Recife",
"endereco": "RUA JOAQUIM NABUCO, 171 - CEP 52.011-900 - GRA\u00c7AS, RECIFE",
"estado": "PE",
"unidade": null,
"url": "http://www.hemope.pe.gov.br/"
},
{
"banco": "HEMATO",
"cidade": "Recife",
"endereco": "Rua Dom B\u00f4sco, 723 - Boa Vista",
"estado": "PE",
"unidade": null,
"url": "https://www.doesanguedoevida.com.br/banco-de-sangue-hemato"
}
]
/bancos-cadastrados/?estado=PE
curl -i -H 'Accept: application/json' http://127.0.0.1:5000/bancos-cadastrados/?estado=PE
[
{
"banco": "HEMOPE",
"cidade": "Recife",
"endereco": "RUA JOAQUIM NABUCO, 171 - CEP 52.011-900 - GRA\u00c7AS, RECIFE",
"estado": "PE",
"unidade": null,
"url": "http://www.hemope.pe.gov.br/"
}
]
/bancos-cadastrados/?cidade=recife
curl -i -H 'Accept: application/json' http://127.0.0.1:5000/bancos-cadastrados/?cidade=recife
[
{
"banco": "HEMOPE",
"cidade": "Recife",
"endereco": "RUA JOAQUIM NABUCO, 171 - CEP 52.011-900 - GRA\u00c7AS, RECIFE",
"estado": "PE",
"unidade": null,
"url": "http://www.hemope.pe.gov.br/"
}
]