creasi/laravel-nusa
creasi/laravel-nusa brings Indonesia's administrative region data into Laravel apps with ready-to-use Eloquent models, migrations, and seeders for provinces, regencies, districts, and villages, making reliable local location data quick and easy to add.
Creasi\Nusa\Models\Province. Cheap today, very expensive to retrofit.Adopt when:
composer require, publish config, done.Look elsewhere — or budget for mitigation — when:
For executives — the one-paragraph version: Indonesia's administrative data — 4 levels of regions, postal codes, coordinates — is normally a multi-week sourcing and cleanup exercise that produces no customer-visible value. Laravel Nusa gives us that dataset pre-compiled, with Laravel models, migrations, API routes, and multilingual docs, under an MIT license, at zero cost. It removes a prerequisite from our Indonesia roadmap and lets the team spend that time on the features customers actually pay for. The trade-off is honest and bounded: it is a young, single-maintainer open-source project with a small user base, so we treat it as a pinned dependency we can fork, not a strategic platform bet. The code license is permissive; we will do a short diligence pass on the upstream data source before it touches anything regulatory.
For engineering — what you are actually signing up for:
composer require, publish config/migrations/lang, and you have Province, Regency, District, Village models with proper belongsTo/hasMany relations, string code primary keys, and a nusa SQLite connection.code.RegionRepository interface so a future multi-country model, a commercial provider, or a swap-out is a one-file change.Ask: approve as a pinned dependency for non-regulatory address features in the Indonesia scope, with a 1–2 day diligence task on upstream data licensing and a stated intent to fork-and-own if maintenance lapses.
How can I help you explore Laravel packages today?