GeoCaboVerde é uma aplicação web desenvolvida para gerenciar informações geográficas de Cabo Verde. A aplicação permite a manipulação de dados sobre ilhas, conselhos, freguesias, zonas e lugares, além de gerenciar usuários. Utiliza Flask como framework web e SQLAlchemy para interações com o banco de dados.
O projeto é dividido em duas partes principais:
- API: Localizada em
api/app.py, é responsável por fornecer os endpoints para manipulação dos dados. - Web: Localizada em
web/app.py, é a interface web que consome a API.
- Python 3.8 ou superior
- Virtualenv
- MySql
-
Clone o repositório:
git clone <URL_DO_REPOSITORIO> cd GeoCaboVerde
-
Crie e ative um ambiente virtual:
python3 -m venv myenv source myenv/bin/activate -
Instale as dependências:
pip install -r requirements.txt
-
Crie a base de dados: Certifique-se de que o MySQL está instalado e em execução. Configure as credenciais no arquivo config.py de acordo com seu usuario e password.
sudo mysql -u usuario -pCREATE DATABASE CaboVerde;
USE CaboVerde;
SOURCE base_dados/create.sql;
-
Inicie o servidor da API:
flask run
-
Em outro terminal, inicie o servidor da aplicação web:
flask run --port 5001
-
Acesse a aplicação no navegador:
http://127.0.0.1:5001
- Ilhas
GET /ilhasPATCH /ilhasDELETE /ilhasPUT /ilhas
- Conselhos
POST /conselhosPUT /conselhosPATCH /conselhosDELETE /conselhos
- Freguesias
POST /freguesiasPUT /freguesiasPATCH /freguesiasDELETE /freguesias
- Zonas
POST /zonasPUT /zonasPATCH /zonasDELETE /zonas
- Lugares
POST /lugaresPUT /lugaresPATCH /lugaresDELETE /lugares
- Usuários
GET /usuariosPOST /loginPOST /logoutPOST /register
A API pode ser utilizada em outros projetos para manipulação de dados geográficos de Cabo Verde. Cada endpoint permite realizar operações CRUD (Create, Read, Update, Delete) em diferentes entidades como ilhas, conselhos, freguesias, zonas e lugares. Para utilizar a API, basta fazer requisições HTTP para os endpoints disponíveis.
Sinta-se à vontade para contribuir com o projeto. Para isso, faça um fork do repositório, crie uma branch para suas alterações e envie um pull request.