This repository is a Laravel package that provides comprehensive geographical data (countries, states, cities, timezones, currencies, languages) and IP geolocation functionality. It implements a facade-based interface (`World::countries()`) and RESTful API endpoints (`/api/countries`, etc.) for accessing the data, which is stored in JSON files and seeded into database tables via Artisan commands. The package includes localization support for over 20 languages, configurable modules, caching mechanisms, and middleware for automatic locale and geolocation handling. The architecture follows Laravel conventions with service providers, controllers, models, migrations, and seeders, while employing an Action pattern to separate query logic, transformation, and business rules.
This repository provides a JSON dataset of world cities and their administrative divisions (levels 1 and 2) sourced from the GeoNames Gazetteer. The data includes city names, coordinates, country codes, and administrative codes for over 169,000 cities. The repository features automated monthly updates via GitHub Actions that download raw GeoNames data, convert it to JSON format, and validate the output. The data structure enables direct use in geolocation applications, administrative boundary mapping, and demographic analysis without additional processing.
This repository is a curated, comprehensive geographic database of countries, states, cities, and postcodes, with a strong emphasis on ISO 3166 compliance and data quality. It is primarily a data_research project, though it includes supporting application code (export pipelines, validation tools, CI/CD) that enables multi-format distribution (JSON, CSV, SQL, Parquet, etc.). The raw data lives in the `contributions/` directory as JSON files, which are the source of truth. A rich ecosystem of Python, PHP, and Node.js scripts handles ingestion from community and official sources, idempotent correction, enrichment (timezones, translations), and export to 12+ formats. The repository is actively maintained by a community of contributors and automated bots, with rigorous PR validation (schema, coordinates, duplicates, cross-references) and extensive fix documentation. It answers questions like 'What are the administrative divisions of a country?' and 'What postcodes exist for a given locality?' and is used as a reference data source for applications worldwide.