Анализ и предложение за оптимизация на изборния процес извън страната
Проблемът: Основната пречка пред гласуването в чужбина е тромавата процедура по регистрация. Ръчното попълване на декларации и вписването в списъци отнема между 2 и 5 минути на човек. Това ограничава капацитета на една секция до едва 15–30 избиратели на час. При средна активност, това физически блокира хиляди българи да упражнят правото си на глас.
Решението: Въвеждане на единна онлайн система за проверка и отчет в реално време за всички секции извън България.
Механизъм на работа:
-
Централизиран достъп: Член на СИК влиза в системата с персонален код.
-
Моментална проверка: При подаване на лична карта, операторът въвежда ЕГН.
-
Превенция на двойно гласуване: Системата проверява в реално време дали лицето вече е гласувало в друга секция (напр. Лондон, Бристол или Тампа). Ако е гласувало – системата сигнализира в червено.
-
Автоматизиран протокол: Ако лицето има право на глас, системата генерира готов запис, който се разпечатва на хартия. Това заменя ръчното вписване и минимизира риска от грешки.
Техническа реализация: За целта е необходимо обединяването на две съществуващи бази данни:
-
ГД „ГРАО“: Всички български граждани с избирателни права.
-
МВР: Данни за лицата, пребиваващи или напуснали страната.
Получената извадка от около 4 000 000 записа е технически лека за съвременна база данни. Тя позволява светкавична скорост на заявките (под 1 секунда) дори при едновременна работа на 1000 секции.
Базата данни: Ограничението почти никога не идва от самия софтуер (MySQL или MSSQL), а от хардуера (дисково пространство и RAM) и това колко добре е оптимизирана базата данни. За 1000 потребители, дори и да са активни едновременно, структура с 10 колони е изключително “лека”.
За вашите 10 колони (име, адрес и т.н.), един запис ще заема средно около 500 байта до 1 KB. Това означава, че в 1 GB дисково пространство можете да съберете над 1 милион записа.
Факторът “1000 потребители”
Броят на записите и броят на потребителите са две различни метрики:
-
Съхранение: 1000 потребители могат да генерират милиони записи (например хронология на поръчки), без това да затрудни базата.
-
Конкурентност (Concurrency): Тук е истинското предизвикателство. Ако 1000 потребители се опитват да четат или пишат в базата в една и съща секунда, ще ви трябва:
-
Индексиране: Правилно поставени индекси на колоните, по които се търси (напр. ЕГН или Име).
-
Connection Pooling: Механизъм, който управлява връзките към базата, за да не “забие” сървърът.
-
За 1000 потребители и структура от 10 колони, изискванията към хардуера зависят не толкова от обема на данните, колкото от интензивността на работа (колко често потребителите четат и пишат едновременно).
Ето примерна конфигурация и изчисления за надеждна работа:
2. Сървърна конфигурация (за 1000 потребители)
Тук трябва да разграничим “общо 1000 потребители” от “1000 едновременно активни (concurrent) потребители”.
Минимална конфигурация (VPS / Облачен сървър)
Подходяща, ако потребителите влизат поетапно през деня:
-
CPU: 2 до 4 vCPU ядра.
-
RAM: 4 GB до 8 GB (базата данни обича да кешира данни в RAM паметта).
-
Диск: SSD (задължително).
Оптимална конфигурация (за висока натовареност)
Ако очаквате пикови моменти, в които стотици хора кликат едновременно:
-
CPU: 8 vCPU ядра (за по-бърза обработка на опашките от заявки).
-
RAM: 16 GB до 32 GB (това позволява почти цялата активна база данни да се зареди в паметта).
-
Диск: NVMe SSD в RAID 1 (за огледално копие и защита от повреда на диска).
3. Архитектура на надеждността
За да не “падне” системата, конфигурацията трябва да включва:
-
Connection Pooling: Настройте уеб приложението да използва “пул” от връзки (около 100-200), вместо да отваря нова връзка за всеки потребител.
-
Backup стратегия: Поне 10% от диска трябва да е свободен за временни таблици и логове, плюс отделно пространство за ежедневни архиви.
-
RAM/Data Ratio: Златното правило при базите данни е RAM паметта да бъде поне 10-20% от размера на най-често използваните данниЕто пълната техническа и експлоатационна документация на вашата система. Тя е структурирана така, че да послужи както за техническо внедряване, така и за отчетност пред регулаторни органи.
-
=================
ТЕХНИЧЕСКА ДОКУМЕНТАЦИЯ
Проект: „Онлайн система за регистрация и отчет на гласувалите за секциите на Избори 2026“
1. ОБЩО ПРЕДСТАВЯНЕ
Системата е уеб-базирано приложение, предназначено за управление на потока от гласоподаватели и отчетност на изборния процес в реално време. Тя позволява на оторизирани служители (оператори) да проверяват легитимността на лицата, да отчитат тяхното присъствие и да генерират официални справки.
2. АРХИТЕКТУРА И ТЕХНОЛОГИИ
Системата е изградена на трислоен модел (Client-Server-Database):
- Backend: PHP 8.x с PDO (защита срещу SQL инжекции).
- Frontend: HTML5, CSS3, JavaScript (изчистен интерфейс за бързина).
- База данни: MySQL / MariaDB (InnoDB двигател за трансакционна цялост).
- PDF Генератор: Библиотека Dompdf (за генериране на изборни протоколи).
3. МОДУЛИ НА СИСТЕМАТА
А. Модул „Сигурност и Достъп“
- Логин система: Изисква уникално потребителско име и криптирана парола.
- Генератор на пароли: Администраторът генерира автоматични, силни пароли за всички 1000+ оператори по секции.
- Сесиен контрол: Автоматично прекратяване на достъпа при неактивност.
Б. Модул „Регистър на гласоподаватели“
- Търсене: Бърза проверка по Фамилия или ЕГН.
- Отчетност: Всеки преглед на профил автоматично инкрементира брояч checks_count.
- Масов импорт: Инструмент за зареждане на националния регистър от CSV/Excel формат.
В. Модул „Справки и Печат“
- PDF Протокол: Генериране на официален документ за гласуване.
- Воден знак за уникалност: Всяка справка съдържа информация колко пъти е отпечатвана, което предотвратява повторно гласуване с един и същ документ.
Г. Модул „Одит и Мониторинг“ (Audit Trail)
- Лог на активността: Пълна история – кой служител (от коя секция) е проверил дадено ЕГН и в колко часа.
- Система за аларми: Автоматично имейл известяване до ЦИК/Администратор при повече от 10 проверки на едно и също лице (за засичане на измами).
4. СТРУКТУРА НА ФАЙЛОВАТА СИСТЕМА
- config.php – Ядро и връзка с БД.
- login.php – Входна точка за оператори.
- index.php – Работен панел (търсене и проверка).
- admin.php – Управление на 1000-те служители по секции.
- import.php – Зареждане на избирателните списъци.
- generate_pdf.php – Генериране на изборни справки.
- logs.php – Пълен одит на изборния ден.
- logout.php – Сигурно излизане от системата.
5. ИНСТРУКЦИИ ЗА ВНЕДРЯВАНЕ (DEPLOYMENT)
- Сървърни изисквания: Apache/Nginx сървър, PHP 8.0+, MySQL 5.7+.
- Инсталация на БД: Изпълнение на предоставения SQL скрипт за създаване на таблиците users, staff_users и activity_log.
- Настройка на връзката: Редактиране на config.php с валидни данни за достъп до БД.
- Подготовка на оператори: През admin.php се въвеждат имената и секциите на 1000-те служители, като им се предоставят автоматично генерираните пароли.
- Зареждане на списъци: През import.php се качва официалният избирателен списък в CSV формат.
6. ПРАВИЛА ЗА ЕКСПЛОАТАЦИЯ И СИГУРНОСТ
- Защита на данните: Всички ЕГН се съхраняват в криптирана среда.
- Проследимост: Никое действие в системата не може да бъде изтрито от оператор – всеки запис в activity_log е постоянен.
- Архивиране: Препоръчва се направа на “Dump” на базата данни на всеки 2 часа по време на изборния ден.
Документацията е подготвена за Избори 2026.
Статус: Готовност за внедряване.
Искате ли да добавим към документацията и Ръководство за потребителя (кратка инструкция от 5 стъпки), която операторите в секциите да прочетат преди началото на изборния ден?
===========================
Прав си да изискваш прецизност – при толкова много компоненти е лесно някой детайл да се изгуби. Тук съм събрал абсолютно всички файлове, напълно завършени и логически свързани, подредени така, че да можеш да ги копираш директно в Google Docs или в кодов редактор.
Това е пълният „двигател“ на “Онлайн система за регистрация и отчет на гласувалите за секциите на Избори 2026”.
=====
Документацията може да свалите оттук (Техническа Онлайн система за регистрация и отчет на гласувалите за секциите на Избори 2026 (2) документация ) )
Leave a Reply