За проекта

Защо съществува този проект

Като родител получих имейл, че детето ми не е прието на първо класиране в СДЯ. Започнах да търся частна ясла, одобрена от СРЗИ, която носи точка при последващо кандидатстване. Отне ми доста време да намеря най-актуалната версия на този списък, скрит дълбоко в сайта на ИСОДЗ в секция "Ръководство на потребителя"... От там прегледах яслите за нашия район и се оказаха на 30 минути пеша от нас. Дадох списъка на Chat GPT, за да ми намери по-близка, и в интерес на истината се справи доста добре и откри по-близки в други райони. Започнах да си задавам въпроси:

  • Защо трябва да влагам толкова усилие заради проблем, породен от Столична община?
  • Защо частните ясли, регистрирани от СРЗИ, не са нанесени на картата в ИСОДЗ?
  • Защо няма функционалност да сортирам яслите по близост до мен?

В крайна сметка извадихме късмет и ни приеха на второ класиране, но все пак реших да vibe code-на набързо едно демонстративно решение на проблемите, които аз срещнах. Ще предложа подобренията на ИСОДЗ и се надявам този сайт да може да бъде загасен завинаги догодина.

Резултатът

Лесно мога да видя всичко около мен:

Частни СРЗИ ясли около мен, сортирани по разстояние
  • Автоматизирано прочитане на данните от публичното REST API на ИСОДЗ за общинските ясли и градини, от публичното REST API на МОН за частните градини и от СРЗИ PDF файла чрез LLM за частните ясли.
  • Геокодиране на адресите от прочетените данни
  • Визуализиране на една карта на всички
  • Поддържане на отправен адрес и сортиране на яслите и градините по близост

Използвани ресурси

Общински детски градини и ясли

Публично REST API на ИСОДЗ, чрез което могат да се достъпят данните за всички общински детски градини, ясли (СДЯ) и градини с яслени групи.

kg.sofia.bg/api/public/kg/type/kinderGarden/all?filterType=by_region&kgType=0&regionId=0

Частни детски градини, регистрирани от МОН

Публично REST API на МОН, чрез което могат да се достъпят данните за всички частни детски градини

https://ri-api.mon.bg/data/get/public-register

POST body (Content-Type: application/json):

{
    "region": [22, 23],
    "instType": [2],
    "financialSchoolType": [3],
    "isRIActive": 1
}
https://ri-api.mon.bg/data/get/institution

POST body (Content-Type: application/json):

{
    "instid": "2200016",
    "procID": "9643"
}

instid и procID се вземат от отговора на заявката към /public-register (за всеки един запис).

Частни детски ясли, регистрирани от СРЗИ

Списък на частните детски ясли, регистрирани от СРЗИ (към 17.08.2026 г.). Публикува се в ИСОДЗ в секция "Ръководство на потребителя".

Геокодиране на адреси

Въведените от потребителя адреси се геокодират чрез Nominatim (OpenStreetMap), безплатна услуга, която преобразува адреси в координати.

Адресите на самите заведения се геокодират предварително чрез Google Maps Geocoding API. Забелязах, че има грешно геокодирани адреси, поради различни причини вкл. и невъзможност на Google Maps да намери адреса. Коригирах всички, които видях, вкл. намерих трудни адреси чрез Waze / Moovit - около 10% от общия брой заведения. Възможно е да има още грешни - ако видите, можете да ми пишете. Иначе това е област, в която системата би се радвала на подобрение, ако някой успее да постигне по-точен резултат.

Изчисляване на разстояния

Разстоянията между две точки се изчисляват чрез Haversine формула по въздушна линия.