Skip to content

What is Laravel Nusa? ​

Laravel Nusa is a comprehensive Laravel package that provides complete Indonesian administrative region data, including provinces, regencies (kabupaten/kota), districts (kecamatan), and villages (kelurahan/desa). It's designed to be "ready-to-use once installed" without requiring complex setup or data migration processes.

The Problem It Solves ​

When building applications that serve Indonesian users, developers often need access to administrative region data for:

  • Address forms with cascading dropdowns
  • Location-based services and filtering
  • Shipping and logistics calculations
  • Government compliance requirements
  • Data validation and standardization

Traditionally, this meant:

  • ❌ Manually downloading and importing large datasets
  • ❌ Running time-consuming database seeders
  • ❌ Maintaining data synchronization with official sources
  • ❌ Dealing with inconsistent data formats
  • ❌ Managing database performance with large datasets

The Laravel Nusa Solution ​

Laravel Nusa eliminates these challenges by providing:

  • ✅ Pre-packaged SQLite database with all data ready to use
  • ✅ Zero-configuration setup - just install and start using
  • ✅ Automatic updates from official government sources
  • ✅ Optimized performance with proper indexing and relationships
  • ✅ Clean API with Eloquent models and RESTful endpoints

Key Features ​

Complete Administrative Hierarchy ​

🇮🇩 Indonesia
├── 38 Provinces (Provinsi)
├── 514 Regencies (Kabupaten/Kota)
├── 7,285 Districts (Kecamatan)
└── 83,762 Villages (Kelurahan/Desa)

Rich Data Attributes ​

  • Official codes following government standards
  • Geographic coordinates for mapping and location services
  • Postal codes for shipping and logistics
  • Boundary data for geographic analysis
  • Hierarchical relationships for efficient querying

Laravel-Native Integration ​

  • Eloquent models with proper relationships
  • Database migrations for address management
  • Service provider for automatic configuration
  • Artisan commands for data management
  • Traits for easy model integration

Data Sources ​

Laravel Nusa integrates data from multiple authoritative sources:

These sources are automatically monitored and updated through GitHub Actions workflows.

Architecture Philosophy ​

Zero-Configuration Approach ​

Unlike other packages that require manual seeding, Laravel Nusa ships with a pre-built SQLite database containing all the data. This means:

  • Instant availability after installation
  • No impact on your main database performance
  • Consistent data across all installations
  • Easy deployment without additional setup steps

Privacy-First Design ​

The package maintains two database versions:

  • Development database (~407MB) - Includes full coordinate data for development
  • Distribution database (~10MB) - Coordinates removed for privacy compliance

Performance Optimization ​

  • Separate database connection to avoid conflicts
  • Proper indexing for fast queries
  • Efficient relationships using foreign keys
  • Pagination support for large datasets

Use Cases ​

Laravel Nusa is perfect for:

E-commerce Applications ​

  • Address forms with real-time validation
  • Shipping cost calculations
  • Regional product availability

Government Systems ​

  • Citizen registration forms
  • Administrative reporting
  • Compliance with official standards

Location-Based Services ​

  • Store locators
  • Service area mapping
  • Geographic analytics

Data Analytics ​

  • Regional performance analysis
  • Demographic studies
  • Market research

Next Steps ​

Ready to get started? Check out our Getting Started guide to install and configure Laravel Nusa in your application.

Released under the MIT License.