Тази единна уеб система е разработена специално за нуждите на Изпълнителната агенция по рибарство и аквакултури (ИАРА). Тя успешно обединява административното ръководство на търговския флот, теренната инспекционна дейност и електронните услуги за гражданите в една обща защитена среда.
Проектът е изграден на базата на съвременни софтуерни инструменти, които гарантират бързодействие, сигурност и лесна поддръжка.
- Python осигурява стабилна логика на бекенд ниво.
- Flask служи като лека и гъвкава уеб рамка за маршрутизация и сесии.
- SQLAlchemy управлява релационния модел и връзките в базата данни.
- SQLite предоставя бързо и надеждно локално съхранение на файловете.
- HTML5 и CSS3 изграждат адаптивния дизайн с изчистена навигационна лента, оптимизирана против пречупване на текстовете.
- Jinja2 позволява динамично рендериране на интерфейса спрямо конкретната роля на влезлия потребител.
Платформата предлага четири нива на достъп, като всяко от тях разполага със специфични права, менюта и нива на сигурност.
Това е началната страница, която предлага свободен достъп до дигитални билети за любителски риболов с автоматични отстъпки за ТЕЛК решения и пенсионери. Включен е също модул за проверка на валидността на издадените билети, както и форма за доброволно докладване на улов с цел събиране на статистика за водоемите.
Този профил има пълен контрол над вътрешната система. Администраторите могат да създават нови служебни акаунти за служители, да променят роли и да изтриват трайно потребителски профили с вградена защита срещу случайно самоизтриване на текущата сесия.
Модулът осигурява достъп до електронен риболовен дневник. Капитаните могат бързо да вписват детайли за излетите и да подават данни в реално време за уловените килограми в съответните морски зони директно преди акостиране на пристанището.
Панелът позволява на служителите на ИАРА да проверяват корабните регистри, да проследяват улова до търговската мрежа и да съставят дигитални наказателни актове с финансови санкции при констатирани нарушения на водоема.
В системата е внедрена защитена процедура за мениджмънт на персонала, която дава право на администратора да премахва невалидни или стари служебни акаунти директно от списъка с потребители.
- Сигурността на операцията се гарантира чрез POST маршрут в Flask, което пречи на уеб паяци и външни системи случайно да задействат изтриването.
- Предпазната мрежа на ниво интерфейс изисква изрично кликане и потвърждение от администратора чрез JavaScript диалогов прозорец, преди заявката да бъде изпратена.
- Логиката в бекенда прави задължителна проверка на идентификаторите, за да се предотврати възможността администраторът да изтрие собствения си профил, с който е влязъл в момента.
За да подкарате уеб приложението на Вашата локална машина, трябва да изпълните следните няколко стъпки в терминала на редактора:
- Свалете сорс кода на проекта в избрана от Вас директория.
- Инсталирайте необходимите библиотеки чрез командата:
pip install flask flask_sqlalchemy
3.Стартирайте приложението, като изпълните основния скрипт:
python app.py- Отворете браузъра на адрес
http://127.0.0.1:5000, където системата автоматично ще генерира файла на базата данни.
Основният администраторски акаунт се генерира автоматично при първия старт и използва потребителско име admin с парола iara2026admin. Препоръчително е данните за достъп да бъдат променени веднага след първия вход за по-висока сигурност.
Таблиците са свързани чрез релационни връзки, които гарантират интегритета на въведената информация.
| Наименование на модела | Основна съхранявана информация в базата данни |
|---|---|
User |
Потребителски имена, криптирани пароли, нива на достъп и пълни имена на персонала. |
Vessel |
Технически параметри на корабите, тонаж, собственици и регистрационни номера. |
Permit |
Валидност на лицензите за промишлен улов и разрешени квоти за видове риба. |
FishingTicket |
Издадени любителски билети, данни за гражданите, ЕГН и период на валидност. |
CatchReport |
Статистика за количеството уловена риба и водни обекти от граждани и капитани. |
InspectionAct |
Наказателни постановления, финансови глоби и констатирани нарушения от инспектори. |