За проекта
Защо съществува този проект
Като родител получих имейл, че детето ми не е прието на първо класиране в СДЯ. Започнах да търся частна ясла, одобрена от СРЗИ, която носи точка при последващо кандидатстване. Отне ми доста време да намеря най-актуалната версия на този списък, скрит дълбоко в сайта на ИСОДЗ в секция "Ръководство на потребителя"... От там прегледах яслите за нашия район и се оказаха на 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®ionId=0Частни детски градини, регистрирани от МОН
Публично REST API на МОН, чрез което могат да се достъпят данните за всички частни детски градини
https://ri-api.mon.bg/data/get/public-registerPOST body (Content-Type: application/json):
{
"region": [22, 23],
"instType": [2],
"financialSchoolType": [3],
"isRIActive": 1
}https://ri-api.mon.bg/data/get/institutionPOST 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 формула по въздушна линия.