Erfahrung darin, die Software-Implementierung des sozialen Projekts „Remember Everyone“ auf Open Source zu bringen

Letztes Jahr hatte unser Team das Glück, an der Entwicklung von Software für ein sozial bedeutendes Projekt teilzunehmen - ein System zur Eingabe von Archivdaten der Militärkommissariate des Chabarowsk-Territoriums während des Großen Vaterländischen Krieges. Kurz gesagt, als er angerufen wurde, wohin ging er und andere verwandte Informationen - um zu digitalisieren und jedem die Möglichkeit zu geben, nach diesen Daten zu suchen. 2018 setzte das fernöstliche Zentrum für soziale Technologien mit Unterstützung des Presidential Grants Fund das Projekt „Remember Everyone“ um. Und wir haben eine Anwendung für unser Open-Source-Produkt IONDV entwickelt. Framework Die endgültige Anwendung ist jetzt unter der GPLv3-Lizenz verfügbar.

Wir teilen unsere Entscheidung und Erfahrung mit dem Projekt.

Bild

Spoiler, einige technische Details.

IONDV. Framework
IONDV. Framework - Open Source-Framework auf node.js zum Erstellen von Metadaten-basierten Webanwendungen auf hoher Ebene, für die keine ernsthaften Programmierkenntnisse erforderlich sind.

Grundlage der Anwendungsfunktionalität ist die Datenregistrierung - das Registrierungsmodul. Dies ist ein Schlüsselmodul, das speziell für die Arbeit mit Daten entwickelt wurde, die auf Metadatenstrukturen basieren - einschließlich solcher zum Verwalten von Projekten, Programmen, Ereignissen usw. Das Projekt verwendet auch ein Portalmodul zum Anzeigen beliebiger Datenvorlagen - es implementiert die Vorderseite der Registrierung von Archivdateien.

MongoDb wird für das DBMS verwendet - es speichert auch Anwendungseinstellungen, Metadaten und die Daten selbst.

Während der Entwicklung haben wir eine Webanwendung mit dem Firmennamen War-Archiv erstellt, um Archivdokumente über den Großen Vaterländischen Krieg zu speichern, zu gruppieren und zu demonstrieren. Wir haben von Januar bis März 2018 aktiv gearbeitet und dabei die Framework-Fehler behoben - da wir die ersten Erfahrungen mit so vielen Scans gemacht haben.

Das Ergebnis des Projekts „Remember Everyone“ war ein Datenregister mit 25.000 Datensätzen (jetzt 35.000). Im April dieses Jahres veröffentlichte das fernöstliche Zentrum für soziale Technologien den Quellcode der Anwendung unter der GPLv3-Lizenz auf GitHub . Im Repository finden Sie Metadaten, Entwurfsvorlagen und spezielle Dienstprogramme - alles, was die Grundlage für die Anwendung für IONDV bildet. Framework Das Framework selbst wird unter der Apache 2.0-Lizenz vertrieben und ist zusammen mit vorgefertigten Modulen auch auf GitHub verfügbar.

Auch Demo-Anwendung bereitgestellt. Testanfrage zur Suche nach "Ivanov Ivan". Sie können das Backoffice hier sehen . Login - Demo, Passwort - Ion-Demo. Übrigens können Sie ein fertiges Docker-Image erhalten .

Projektdetails


Ziel des Projekts „Remember Everyone“ ist es, die Erinnerung an Menschen aus der Zeit des Zweiten Weltkriegs zu bewahren, indem freier Zugang zu Dokumenten dieser Jahre gewährt wird. Maria Stepko, Direktorin des fernöstlichen Zentrums für soziale Technologien, sagte einmal: „Die Aufbewahrung und Analyse von Daten über die Vergangenheit ist eine Aufgabe, die notwendig ist, um die Zukunft zu modellieren.“

Freiwillige des Projekts digitalisierten zehntausend Seiten Dokumente und gaben Daten in das Register der Fernostler ein, die am Großen Vaterländischen Krieg teilnahmen. In der Datenbank finden Sie Informationen zum Rang des Angerufenen, zu Teil, Datum, Todesursache und Bestattungsort. Zusätzlich steht eine digitalisierte Aufzeichnungsquelle zur Verfügung, die die Anzahl der Bestände, Fälle und Blätter gemäß der Nummerierung des Staatsarchivs angibt. Ein Beispiel für einen Dokumentenscan.

Bild

Wir sind sehr dankbar für diese Gelegenheit und für das Feedback zu unserer Arbeit:
„Die technische Lösung des fernöstlichen Entwicklungsunternehmens IONDV wird kostenlos vertrieben. Das System eignet sich für NGOs, Initiativbürger, Museen, Archive. Es wird helfen, Ressourcen zu sparen und eine gute Tat für die Menschen zu tun. Programmierer in unserer Region wissen, was „freie Software“ ist. Gemeinsam werden wir diese Software funktionsfähiger machen.

Bereitstellung und Testergebnis


Gestern haben wir die Übertragung des Projekts an Yandex abgeschlossen. Die Cloud wurde unter der neuen Adresse dvarchive.ru zur Verfügung gestellt .

Gleichzeitig haben wir Stresstests durchgeführt, die wir auch gerne teilen möchten.

Die Serverressourcen sind minimal, da sie vom Fundraising-Unternehmen bezahlt werden: 2 CPUs mit 20% Priorität und 2 GB Speicher.

Eine typische Reaktion auf eine kleine Last sieht folgendermaßen aus: 2% der CPU-Last und 36% der Speicherlast.

Wir haben Benutzeranforderungen ohne statische Dateien getestet, nur Datenanforderungen, und das Ergebnis hat uns gefallen.

Bild

Es stellte sich heraus, dass die Anwendung im Docker-Container 400 Anforderungen pro Sekunde (ohne Statik) verarbeitet. Gleichzeitig wird nur ein Prozessor geladen, was typisch ist, wenn nur eine Instanz von node.js gestartet wird. Der zweite erledigt den Rest der Aufgaben (DBMS, Nginx, Überwachung).

Benötigen Sie nicht einmal Clustering. Trotz eines Minimums an Ressourcen gibt es einen großen Spielraum für die übliche Arbeitsbelastung eines sozialen Projekts.

Zusammenfassung


Für uns war dies die erste Erfahrung, an der Arbeit an einem Projekt teilzunehmen, das sich auf die Erinnerung an den Großen Vaterländischen Krieg und den Fernen Osten bezieht.

Darüber hinaus sind wir stolz darauf, dass dieses Ergebnis, das in Fernost entwickelt wurde, einer Region, die auf dem Gebiet der IT nicht sehr aktiv ist, von allen genutzt werden kann, die an solchen Projekten beteiligt sind, insbesondere nach dem Open-Source-Modell.

Source: https://habr.com/ru/post/de451092/


All Articles