Kommt das faule Lachen, wenn Sie über digitale Transformation hören? Glauben Sie nicht mehr an offene Datenversprechen? Denken Sie, dass es hässlich ist, öffentliche Geld in "Portalitos" zu verschwenden? Sie sind am richtigen Ort.
Der Plan besteht darin, anständige APIs zu erstellen, die öffentliche Datenquellen (z. B. Webseiten) konsultieren , um die Verwaltungsdienste programmatisch zu nutzen.
Versuchen Sie, einige Beispiele in einer echten Demo zu konsultieren:
Es gibt viele Dienste, die enthalten sind, und ich werde es nicht alleine tun können. Zusammenarbeiten!
Das Projekt ist in mehrere Pakete unterteilt:
egov-api-server verwendet dieses Paket.HTTP -Server, der eine API -GraphQL für den Zugriff auf auf reale öffentliche Daten freigibt (Try Demo). Es wurde unter node.js (typeScript) mit Apollo GraphQL entwickelt und ist der einfachste Weg, um auf die Daten zuzugreifen.

Sie können das Datenschema konsultieren. Ich habe mit Daten von geografischen Standorten und Telekommunikationsdiensten in der Region (Antennen, digitale Fernsehsender, verfügbare Netzwerke) begonnen.
Sie brauchen nur node.js 10+. Sie müssen das Projekt nach dem ersten Schließen initialisieren:
git clone [email protected]:palmerabollo/egov.git
cd egov
npm install
Und führen es aus:
npm run start:api-server
Bei http: // localhost: 4000 haben Sie den Website -Zugriff auf die API GraphQL, um Ihre Abfragen auszuführen. Wenn Sie Lust dazu haben, gibt es weitere Details zum Entwicklungsprozess im Leitfaden für Mitarbeiter.
Hinweis: Einige Verwaltungen haben unsichere Server, die seit mehr als einem Jahrzehnt von Schwachstellen (CVE-2009-3555) betroffen sind. Dies verhindert die Unterstützung von Node.js> 16 / OpenSL 3.x. Es ist erforderlich, zu untersuchen, ob es mit der variablen
SSL_OP_LEGACY_SERVER_CONNECTignoriert werden kann.
Es umfasst die Implementierung von Datenlieferanten: Beratungsdienste, die Daten mit öffentlichen Quellen extrahieren. Einige Dienste konsultieren Daten, wenn sie angefordert werden (online) und andere verwenden lokale Daten (offline).
Das Erstellen eines neuen Dienstes ist sehr einfach. Die folgenden werden derzeit entwickelt. Schauen Sie sich neue Ideen in den Problemen an und senden Sie Ihre Pull -Anfrage mit neuen Diensten. Es ist sehr einfach.
| Service | Klasse | Datenursprung | Online |
|---|---|---|---|
| Suche nach Populationen und Postcodes Kategorie: Allgemein | PostalCodeService | Geonames.org | ❎ (Lokale Datei) |
| Standort von Mobiltelefonantennen Kategorie: Telco | AntennaService | Geoportal.minetur.gob.es | ✅ (API) |
| 4G bis 800 MHz Abdeckungsüberprüfung Kategorie: Telco | NetworkService | www.llega800.es | ✅ (API) |
| Fernsehsignale nach geografischer Lage Kategorie: Telco | DigitalTelevisionService | www.televisiongital.gob.es | ✅ (HTML) |
| Verkehrsradare Kategorie: Verkehr | TrafficRadarService | www.dgt.es | ✅ (HTML, PDF) |
| Fahrzeuginformationen Kategorie: Verkehr | TrafficVehicleService | www.dgt.es | ✅ (HTML, PDF) |
Beispiele für die programmatische Nutzung der Beratungsdienste, die in egov-data-providers verfügbar sind.
import * as egov from '@egov/data-providers' ;
let service = new egov . AntennaService ( ) ;
let antennas = await service . findAntennas ( 41.73 , - 5.32 ) ;
console . table ( antennas , [ 'code' , 'latitude' , 'longitude' ] ) ;
// output
// ┌─────────┬───────────────────────────────────┬───────────┬───────────┐
// │ (index) │ code │ latitude │ longitude │
// ├─────────┼───────────────────────────────────┼───────────┼───────────┤
// │ 0 │ 'VODAFONE ESPAÑA, S.A. - 144588' │ 41.471472 │ -4.989911 │
// │ 1 │ 'VODAFONE ESPAÑA, S.A. - 144589' │ 41.479806 │ -5.048222 │
// │ 2 │ 'ORANGE ESPAGNE, SAU - CYLR2147A' │ 41.471472 │ -4.989911 │
// │ 3 │ 'ORANGE ESPAGNE, SAU - CYLR2223B' │ 41.479806 │ -5.048222 │
// └─────────┴───────────────────────────────────┴───────────┴───────────┘Der EGOV -Code wird unter node.js (typeScript) entwickelt. Diejenigen, die zu neuen Datenlieferanten in anderen Programmiersprache beitragen möchten, haben die Möglichkeit, als unabhängige Prozesse ausgeführt zu werden, die eine HTTP -Schnittstelle aufdecken. Diese Adapterprozesse können die Daten erhalten, sie verarbeiten und ihnen über diese HTTP -Schnittstelle Egov anbieten.
Es gibt einen Beweis für das Konzept, um Verkehrsradare mit einem Python -Prozess zu erhalten, der die DGT -Radardaten verabreicht . Dieser Prozess wird als serverlose Funktion in AWS Lambda ausgeführt.
Data-Provider- (HTTP)-> Adapter- (HTTP Scrape)-> DataSource
Warum serverlos? Denn es ist der Weg, um das wirtschaftlich nachhaltige Projekt durchzuführen, ohne vorerst um Geld zu bitten.
Copyright 2019 - Guido García (Guido.garcia bei Protonmail dot com)
Lizenziert unter der GNU, allgemeine öffentliche Lizenz, Version 2.0 (die "Lizenz"); Sie dürfen diese Datei nur in Übereinstimmung mit der Lizenz verwenden.
Sub Information Postal Codes wird von Geonames unter einer Lizenz für Creative Commons Attribution 4.0 bereitgestellt.