Logo Lanfrica

Algoritmo2018/Angola-Core-Data

Domaine:

digital infrastructure

Type de record:

software
Créateur:
Alg
Hôte:
# Angola Core Data API API REST para centralizar e disponibilizar dados de referência sobre Angola. O projecto expõe a divisão administrativa do país — **províncias, municípios e comunas** — e informação de **bancos angolanos**, incluindo as respetivas siglas e prefixos bancários. Foi construída com Laravel e foi pensada para servir aplicações web, móveis e outros serviços que precisem de uma fonte única para estes dados. ## Índice - Funcionalidades - Tecnologias - Requisitos - Instalação local - Execução com Docker - Base de dados e dados iniciais - Utilização da API - Endpoints - Validações e exemplos - Testes e qualidade - Documentação OpenAPI - Comandos úteis - Estrutura do projecto - Segurança - Licença ## Funcionalidades - Consulta paginada e filtrável de províncias, municípios, comunas e bancos. - Relação geográfica `província → município → comuna`. - Dados iniciais de províncias e bancos através de *seeders*. - Criação, actualização, remoção lógica e restauro de registos. - Lixeira específica para bancos, com opção de remoção permanente. - Identificadores UUID para os recursos de domínio. - Documentação OpenAPI e colecção Postman geradas com Scribe. - Testes de funcionalidade para os endpoints da API. ## Tecnologias - PHP `^8.3` - Laravel `^13.8` - SQLite por padrão (também há configuração para MySQL, MariaDB, PostgreSQL e SQL Server) - Laravel Sanctum - PHPUnit 12 - Laravel Pint - Scribe 5 (documentação de API) - Docker e Docker Compose - Vite, Tailwind CSS e Node.js para os recursos de interface incluídos no Laravel ## Requisitos Para executar localmente, instale: - PHP 8.3 ou superior, com as extensões `pdo_sqlite`, `mbstring`, `xml`, `zip` e `intl`; - Composer 2; - SQLite 3; - Node.js 20+ e npm (opcional para consumir a API, necessário para os recursos Vite); - Git. Como alternativa, use Docker Desktop e Docker Compose. ## Instalação local Clone o repositório e entre na pasta do projecto: ```bash git clone cd Angola-Core-Data ``` Instale …