Database free con nazioni, regioni e città

Nel corso della realizzazione di una mia app mi sono reso conto che mi sarebbe servito un database per codificare dei posti in base alla città o comune di locazione e per l’Italia avevo già una serie di tabelle. Volendo però rendere l’applicazione innternazionale si presenta il problema di recuperare i nomi delle città in maniera ordinata.
Esistono diversi servizi Web API che espongono questi dati e sono tutti a pagamento.
Io ho trovato questi:

che sono servizi con molti dati.
Ma non volendo spendere per un abbonamento e anzi volendo avere a disposizione i dati anche offline ho trovato questo progetto su github:

È un progetto open source e quindi ci sono tutti i sorgenti per metterselo su un proprio server.

Ha anche un servizio attivo per fare i test e con una get a questo indirizzo:
https://countriesnow.space/api/v0.1/countries/iso
si ottiene la lista delle nazioni del mondo.

La cosa più interessante è che i dati sono su tre file in formato csv che ti puoi scaricare e importare in un tuto db e trivi 150 mila città.
Le regioni e province italiane sono codificate male ma si potrebbero correggere e fargli una PR, magari mi vien voglia di farlo.

Probabilmente realizzerò un componente che ha il db locale e anche le chiamate ai loro servizi per fare i test.

La tabella counties ha questie informazioni:
id,name,iso3,iso2,numeric_code,phone_code,capital,currency,currency_name,currency_symbol,tld,native,region,subregion,nationality,timezones,latitude,longitude,emoji,emojiU

La tabella states ha queste informazioni:
id,name,country_id,country_code,country_name,state_code,type,latitude,longitude

La tabella cities ha questo informazioni:
id,name,state_id,state_code,state_name,country_id,country_code,country_name,latitude,longitude,wikiDataId

8 Mi Piace

Ottima idea quella del componente già bell’e pronto :sweat_smile: