aiarmada/addressing

Reusable Laravel address handling package with country reference data, area import contracts, polymorphic address attachment, address snapshots, formatting and normalization
2,310
Install
composer require aiarmada/addressing
PHP:^8.5
License:MIT
Last Updated:Oct 15, 2026
Links: GitHub  ·  Packagist
Maintainer: sairiz

title: Addressing Consumer Adoption Documentation Pack

Addressing Consumer Adoption Documentation Pack

This pack documents how other aiarmada/* and majlisilmu/* packages should adopt aiarmada/addressing.

It is intentionally separate from the core addressing implementation instruction. The core package explains how to build aiarmada/addressing; this pack explains how the rest of the monorepo should consume it.

Quickstart

composer require aiarmada/addressing
php artisan vendor:publish --tag=addressing-config
php artisan migrate
use AIArmada\Addressing\Actions\SeedAddressCountriesAction;
use AIArmada\Addressing\Actions\SeedCountryGeographiesAction;

app(SeedAddressCountriesAction::class)->execute();
app(SeedCountryGeographiesAction::class)->execute('MY');

Then read docs/02-installation.md and docs/04-usage.md. Country coverage lives in docs/05-country-data.md; adding a country is covered in docs/13-provider-authoring.md.

Files

  • packages/addressing/docs/06-consuming-packages.md — main conceptual guide: why, what, who, when, and how.
  • packages/addressing/docs/07-adoption-levels.md — exact levels of adoption from DTO-only to storage migration.
  • packages/addressing/docs/08-package-playbooks.md — package-by-package recommendations.
  • packages/addressing/docs/09-migration-recipes.md — migration and data-copy recipes.
  • packages/addressing/docs/10-contracts-and-examples.md — copy-paste examples for DTOs, casts, snapshots, mappers, and traits.

Core position

Using aiarmada/addressing does not automatically mean deleting every existing address column or table.

It means every package should use the shared address language where appropriate:

  • AddressData for normalized address values.
  • AddressDataCast for JSON columns.
  • Address + HasAddresses for reusable saved addresses.
  • AddressSnapshot or address snapshot JSON for historical records.
  • Provider mappers for gateway/logistics APIs.
  • Country/area resolvers for country and locality normalization.

The storage migration decision must be made package-by-package.

Related Packages

galahad/laravel-addressing

Laravel package providing addressing functionality

369,518 70
lykegenes/laravel-countries

Get informations about countries.

27,278 7
monarobase/country-list

List of all countries with names and ISO 3166-1 codes in all languages and data...

3,105,752 275
dougsisk/laravel-country-state

Country & state helper for Laravel.

2,195,061 168