Problemy modelowania, powielania i zniekształcania informacji oraz ich wpływy na procesy to temat kilku moich ostatnich blogów.
W BLOGU 1: „Excel, SQL, ORB, czyli wielka niemoc w odwzorowaniu rzeczywistości” skupiłem się na problemie obiektowego odwzorowania rzeczywistości. Pokazałem, że podejście obiektowe wymaga radykalnej zmiany myślenia o danych – zmiany, której nie da się wdrożyć szybko. To wyzwanie na dziesięciolecia.
W BLOGU 2 „Niebezpieczne zabawy z tekstem” jako alternatywę zaproponowałem prostszy, choć mniej skuteczny sposób ograniczania zniekształceń – czyli „osadzanie” informacji w danych liczbowych. Przedstawiłem trzy scenariusze przetwarzania tekstu:
czysty potok słów,
prosty model liczbowy,
oraz tekst powiązany z tabelą zdarzeń.
Wnioski były jasne: tylko tekst ściśle spleciony z ustrukturyzowanymi danymi pozwala zachować wierność faktom. Taką nadmiarowość informacji trudno ocenić "na oko" — potrzebne są dedykowane narzędzia.
W BLOGU 3 omówiłem kolejną chorobę współczesnego przekazu: nadmiarowość informacji — czyli więcej danych, mniej sensu. Przedstawiłem własną aplikację do wyliczania nadmiarowości informacji.
W tym BLOGU4 przedstawię bardzo prosty przykład modelu danych oraz implementację tego modelu w ważnym procesie "Wybory kandydata na dowolny urząd, stanowisko"
Praktyczny przykład: Aplikacja GŁOSOWANIE
☑️ Model danych (zapis SQL)
Tabela CANDIDATES lista kandydatów
CREATE TABLE CANDIDATES ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT UNIQUE, czas_zgloszenia DATETIME);
Tabela VOTES zdarzenia głosowania:
CREATE TABLE VOTES ( voter_id_pesel TEXT PRIMARY KEY,
candidate_id INTEGER, name TEXT, czas_glosowania DATETIME);
☑️ Główne funkcje
Jest to prosty system głosowania (frontend + backend), który:
✅ pozwala oddawać głosy na kandydatów,
✅ zapisuje głosy w bazie SQLite,
✅ blokuje wielokrotne głosowanie (na podstawie identyfikatora, np. PESEL).
☑️ Zastosowane technologie(open source)
Node.js – środowisko serwerowe (JavaScript backend), możliwość tworzenia endpointów
npm – menedżer pakietów dla Node.js
SQLite – lekka baza relacyjna, plikowa baza danych
HTML/CSS/JS – prosty frontend
☑️ Struktura katalogów projektu
voting-app-blocked/
├── frontend/
│ ├── index.html
│ ├── help.html
│ ├── style.css
│ └── app.js
├── backend/
│ ├── server.js
│ ├── database.db
│ └── package.json
☑️ Role i uprawnienia w systemie
Aplikacja GŁOSOWANIE umożliwia zarządzanie wyborami poprzez 3 role użytkowników:

☑️ Screen aplikacji ze wszystkimi funkcjami (rola ADMIN)

☑️ Wnioski końcowe i refleksja
1. Jak pokazuje ta niemal profesjonalna aplikacja (wykonana w 1 dzień) , jeśli mamy:
jasno zdefiniowany proces, oraz
spójny, dobrze zaprojektowany model danych
to przy użyciu współczesnych narzędzi technologicznych jesteśmy w stanie zrealizować wydajny i czytelny system, który porządkuje rzeczywistość oraz wspiera obecne procesy.
2. Dopóki mikroprojekty takie jak ten pozostaną bez WSPARCIA i FINANSOWANIA , dopóki szkoły będą pomijać naukę myślenia obiektowego a politycy będą ignorować potrzebę cyfrowej edukacji obywateli, dopóty nie zbudujemy nowoczesnego państwa. Będziemy co najwyżej wydawać olbrzymie środki na zarządzanie jego cyfrowym chaosem.
Inne tematy w dziale Technologie