ZOFRA е нов македонски софтвер што ќе се обиде да го промени начинот на нарачување во локалите

ZOFRA е нова POS (Point of Sale) платформа за кафе барови и ресторани во Македонија која нуди комплетно менаџирање на локалите во реално време. Зад овој проект стои Албин Кафеџиу. Албин ја развил целата платформа сам — од дизајн и код, па сè до инфраструктура.

Преку овој систем, келнерите примаат нарачки преку таблет, кујната ги гледа во реално време, а гостите можат да нарачаат и директно преку QR код. Сопственикот има пристап до детален админ панел со мени, смени, извештаи и финансии, а системот е целосно поврзан со фискални уреди по македонска норма. Платформата неодамна официјално излезе „live“ кај првиот клиент, Vertigo Bar во Кичево. Со Албин разговаравме за предизвиците на соло-развојот, технологијата зад софтверот и македонскиот угостителски пазар.

Албин Кафеџиу

Од каде се роди идејата за ZOFRA?

Идејата за ZOFRA ja носам уште од кога почнав да се интересирам за програмирање. Еден пријател, тогаш студент по софтверско инженерство, ми го објаснуваше програмирањето преку пример со POS систем во еден кафе бар. Тој пример ми остана.

Пред околу две години се обидов нешто да направам, но не дојде далеку и проектот остана во папките. Пред 4 месеци го отворив повторно, видов дека стариот код не вреди и почнав од нула. Тој втор обид прерасна во тоа што е ZOFRA денес.

Веќе го имаш првиот клиент (Vertigo Bar, Кичево). Како помина првиот ден? Имаше ли некои непредвидени ситуации на терен што софтверот мораше да ги „преживее“?

Се подготвував доста пред првиот ден и тестирав софтверот многу за да не „експлодира“ во моментот на инсталација, но реалниот терен секогаш има изненадувања, и тоа го очекував.

Самиот софтвер влезе во работа како што треба. Изненадувањето беа фискалните уреди. Документацијата за драјверот е минимална, и работи што функционираат во развојна средина не функционираат секогаш во живо. Сетапот ми зеде повеќе време од планираното, со неколку итерации на лице место додека сè не профункционира стабилно.

Она што го научив е дека хардверскиот дел е секогаш непредвидлив. Кодот функционира во изолација, реалниот свет има свои правила. Имам централизирани логови што ми помагаат брзо да ги откријам и поправам проблемите, така што следниот клиент ќе биде многу полесен.

И на крај, благодарам на екипата на Vertigo, беа многу трпеливи и опуштени цел ден додека работев на инсталацијата. Тоа многу ми значеше.

Името ZOFRA има интересен, специфичен звук. Има ли некоја приказна зад него?

ZOFRA е изведена од зборот софра, традиционалната трпеза за јадење во македонската, албанската и турската култура. Софрата не е само маса, туку место каде луѓето се собираат, јадат заедно, поминуваат време. Тоа е срцето на секој ресторан и кафе бар.

Решив да додадам З на почетокот за да звучи како модерен технолошки бренд, да биде уникатен и лесно пронаодлив, но сепак да го чува тој топол, регионален дух во себе. Некој од Македонија кога ќе го слушне „Зофра” ќе почувствува нешто познато, иако нема да знае точно зошто.

Тоа е токму она што сакав, производ кој звучи глобално но никогаш не ја заборава средината за која е направен.


Jа разви целата платформа сам, дизајн, код, па сè до инфраструктура. Како изгледаше тој процес? Колкав период ти беше потребен да стигнеш од првата линија код до функционален MVP (Minimum Viable Product)?

Овој пат веќе имав претстава како функционира еден POS систем од претходниот обид пред две години. Поминав значајно повеќе време во планирање пред да напишам и една линија код, и тоа што го имав добро испланирано однапред, основните функционалности и админ панелот, го имав готово за околу 3 недели. Тука многу ми помогна и AI-assisted development со алатки како Claude Code. Не е замена за знаење, но со него работев значително побрзо отколку би работел сам на класичен начин. Денес е огромна предност за секој самостоен развивач.

Потоа дојде делот што го немав планирано детално. Кога системот веќе работеше, видов колку места има за подобрување, колку повици кон серверот можат да се кешираат, колку оптимизации недостасуваат. Тие работи вклучуваат повеќеслојно кеширање со реал-тајм инвалидација, оптимизација на перформансите, QR нарачувањето, нотификациите, интеграцијата со термички и фискални печатачи, и десктоп апликацијата за Mac и Windows со Tauri. Тие нешта ме поучија најмногу.

Целата платформа во денешна форма ми зеде 14-16 недели.

Кој е технолошкиот стак зад ZOFRA? Зошто токму ова беше изборот?

Целиот код на апликацијата е TypeScript, освен малиот Rust shell во Tauri за десктоп.

Backend: NestJS со Prisma ORM врз PostgreSQL 16, и Socket.IO за реал-тајм синхронизација. NestJS го избрав заради зрелата модуларна архитектура која добро се скалира.

Frontend: Next.js 15 со React 19, Tailwind CSS и Zustand. Оваа комбинација ми ги даде SSR, лесно деплојирање на Vercel и PWA поддршка за келнерската апликација.

Десктоп: Tauri v2 наспроти Electron, заради значајно помал инсталер (околу 10 MB наспроти 100+ MB), подобри перформанси и нативен auto-update. Содржината е истата Next.js апликација во webview.

Инфраструктура: self-hosted на Hetzner VPS со Coolify. Целосна контрола над податоците, без vendor lock-in, и значајно понизок месечен трошок отколку managed решенија.

Интеграцијата со фискални уреди во Македонија е важи за „мачна“ за секој што развива ваков софтвер. Како помина тој процес на фискална рутација и поврзување со принтерите?

Фискалната интеграција беше еден од најтешките делови во целиот проект. Не заради протоколот сам по себе, туку заради тоа што документацијата е минимална и расфрлана. Она што го најдов беа стари ресурси, нецелосни, лошо објаснети. Многу работи морав сам да ги откријам со тестирање директно на уредот.

Во Македонија постојат повеќе фамилии фискални уреди, секоја со свој протокол. За сега имплементирав поддршка за најчестата, со план постепено да ги додадам и другите. Комуникацијата оди преку Windows драјвер, USB-Serial, и наменски процес на локалот кој ja одржува врската со уредот.

Многу детали кои изгледаа едноставни во развој, се покажаа различни кога системот треба да комуницира со физички уред во живо. Со детално логирање и неколку циклуси тестирање, стигнав до стабилна верзија.

ZOFRA нуди QR нарачување, што е одлична опција за брзина. Сепак, кај нас луѓето сè уште сакаат „да му мавнат на келнерот“ или да направат муабет. Како реагираат сопствениците и гостите во Македонија на овој концепт? Дали го гледаат како замена за келнерот или како негова помош?

QR нарачувањето во ZOFRA е направено како помош, не како замена за келнерот. Во преполн локал, келнерот не може секогаш да биде на сите маси истовремено. Понекогаш ќе пропушти некого, или гостите чекаат долго додека да ги забележат. Лично ми се случило многупати да барам келнер за да платам или да нарачам уште нешто, и тоа е токму ситуацијата каде QR-от прави разлика. Гостите можат сами да нарачаат, со клик да повикаат келнер или да побараат сметка. Полесно е и за гостите и за келнерите.

Од сопствениците сe уште немам многу feedback бидејќи системот работи во живо само во Vertigo. Ќе треба малку време додека гостите навикнат, но веќе во првиот ден неколку луѓе го искористија без никакво објаснување. Тоа беше добар знак.

Имаш специфични опции за билијард клубови. Ова е многу тесна гранка. Дали дојде како барање од пазарот или е стратешки потег за таргетирање на локали кои често се заборавени од стандардните POS системи?

Дојде од лична околина. Имам пријател кој раководи билијард клуб и од него уште одамна слушав за проблемот: повеќето POS системи не се направени за билијард клубови, па тие или работат со посебен софтвер за билjардот и посебен за пијалаците, или сè мерат и сметаат рачно. Додека ja градев ZOFRA, си помислив зошто да не го додадам и тоа.

Така ZOFRA може автоматски да го следи времето на билијардските маси и да ja пресмета сметката на крајот, а истовремено да управува со нарачките за пијалаци и храна. Сè во еден систем, една сметка. За сопственикот, тоа значи дека не му требаат две посебни решенија кои не комуницираат меѓу себе.

Така е и од двете страни: дојде од конкретно барање, и истовремено е сегмент кој стандардните POS системи го заборавиле.

Mакедонски, албански и англиски јазик во еден систем. Колку е важна оваа тријазичност за пазарот во Македонија, особено за регионите каде бизнисите природно функционираат на повеќе јазици?

Македонија е мултиетничка средина, и многу локали природно работат на повеќе јазици. Сакав ZOFRA да биде направена за сите, без да форсира еден јазик. Затоа поддршката за македонски, албански и англиски е изградена во системот од самиот почеток.

Тоа значи дека келнерот, админот и кујната можат да користат јазик кој им е најкомфорен. Истотака, кога гостот ќе скенира QR код, менито и нарачувањето се прикажуваат на негов избран јазик. На тој начин сите страни вклучени во работата на локалот природно го користат системот.

Следниот јазик кој планирам да го додадам е турскиот, бидејќи има значајна турска заедница во Македонија и неколку градови каде локалите редовно работат и на турски.

Како планираш да го решиш скалирањето на поддршката? Ако ZOFRA влезе во 30 нови локали ширум Македонија, а софтверот бара теренска инсталација и 30-минутна обука по улога, како ќе го менаџираш тој раст?

Размислувам да најдам луѓе во поголемите градови и да ги обучам како да го инсталираат системот. Сетапот не е сложен и може да се научи брзо. На тие луѓе ќе им давам процент од приходите за локалите со кои тие работат во нивниот град.

За градовите каде нема да најдам некој, засега ќе морам сам да патувам. Тоа сè уште не сум го разработил докрај, ќе биде дел од учењето како што ќе расте.

ZOFRA е твој личен проект. Кој ти е планот за понатаму? Дали ZOFRA ќе прерасне во посебна компанија (spin-off) и кои се следните функционалности?

Засега фокусот е на продажба и собирање повратни информации од сопствениците кои веќе го пробуваат системот. Веќе го презентирав ZOFRA на повеќе сопственици и тие имаат конкретни барања и идеи кои не сум ги имал предвид во почетниот план. Затоа следните месеци ќе бидат посветени на полирање на сè што постои, и имплементирање на новите функционалности кои доаѓаат од нив, со цел ZOFRA да стане уште посилно и поцелосно решение за угостителските објекти.

Од конкретни функционалности што се планирани, ќе додадам поголема аналитика за сопствениците и систем за лојалност на гостите. Покрај тоа, ќе се градат и работите кои самите сопственици ги бараат.

Што се однесува до тоа дали ZOFRA ќе прерасне во посебна компанија, за сега останува под Brumi. Тоа прашање ќе го отворам кога ќе има реална потреба за независна структура. Засега фокусот е целосно на продуктот и првите вистински клиенти.

Стани премиум член и доби пристап до сите содржини, специјален попуст на над 2.200 производи во ИТ маркет, верификуван профил и можност за огласување на ИТ Огласник. Плус ќе го поддржиш медиумот кој го градиме цели 16 години!

basic

членство

42 ден./мес

зачлени се

1337

членство

125 ден./мес

зачлени се
* плаќањето е на годишно ниво

Доколку веќе имаш премиум членство, најави се тука.

Добивај известувања
Извести ме за
guest
0 Коментари
Најнови
Најстари Со највеќе гласови
Inline Feedbacks
View all comments