SaaS · Վաճառքի կետ
Multi-tenant POS և back-office SaaS ռեստորանների և սրճարանների համար
Հարթակ, որը վաճառվում է միանգամից բազմաթիվ սննդի բիզնեսների՝ desktop դրամարկղ, որը շարունակում է վաճառել offline, խոհանոցի և հերթի էկրաններ, ընկերության պորտալ, լոյալություն և մարքեթինգ, ֆիսկալ կտրոններ և հանրային API-ներ նրանց բջջային հավելվածների համար։
- Դեր
- Համատեղ առաջատար ինժեներ · API, պորտալ, դրամարկղ և offline հաբ
- Տարիներ
- 2026
- Հարթակներ
- API · Ադմին վահանակ · Desktop հավելված · Offline հաբ · Կայք
- Իմ մասնաբաժինը
- ~52% commit-ների
Խնդիրը
Սրճարանները չեն կարող դադարեցնել վաճառքը, երբ ինտերնետն անջատվում է, իսկ SaaS-ը երբեք չպետք է մի ընկերության տվյալները բացահայտի մյուսին։ Հարթակը պետք է offline սպասարկեր տեղում վաճառքները, հետո անվտանգ համաժամեցներ դրանք և խստորեն իրարից անջատ պահեր տասնյակ tenant-ներ՝ միաժամանակ ընդգրկելով ամեն ինչ՝ մենյուներից և պաշարներից մինչև անձնակազմ, վճարումներ և լոյալություն։
Ինչպես լուծեցի
- 01
Tenant-ների մեկուսացումն ապահովված է երկու մակարդակով․ յուրաքանչյուր հարցում բացահայտ կրում է ընկերության scope-ը, իսկ տվյալների բազայի ընդլայնումը սխալ է նետում, եթե հարցումը երբևէ մոռանա այն։ Ցանկացած բացառություն պետք է ավելացվի allow-list-ում՝ գրավոր հիմնավորմամբ։
- 02
Մասնաճյուղային offline հաբը՝ իր տեղական տվյալների բազայով, սպասարկում է տեղում վաճառքները, երբ cloud-ն անհասանելի է․ համաժամեցման յուրաքանչյուր հրաման դեդուպլիկացվում է ըստ տերմինալի, ուստի կրկնակի փորձը երբեք չի կրկնապատկի պատվերը։
- 03
Տրանզակցիոն outbox-ը սնուցում է ֆոնային հերթերը և HMAC-ով ստորագրված webhook-ները, ուստի իրադարձությունները երբեք չեն կորչում վաճառքի և դրան արձագանքող համակարգերի միջև։
- 04
Գործընկերային պատվերների idempotency key-երը, «արդյունքն անհայտ է» բացահայտ վիճակով վերադարձները և գիշերային համադրման առաջադրանքը դրամական հոսքերը դարձնում են աուդիտի ենթակա։
- 05
«Սխալ tenant» թեստ յուրաքանչյուր մոդուլի թեստերում․ այլ tenant-ի տվյալներին դիմելը պետք է վերադարձնի 404, ոչ թե տվյալներ։
Ինչ է անում
- Desktop դրամարկղ (Electron)՝ սարքերի սեսիաներով, ավտոմատ թարմացմամբ և offline ռեժիմով
- Խոհանոցի, բարի և հերթի էկրաններ՝ իրական ժամանակի թարմացումներով WebSockets-ի միջոցով
- Մենյուներ, մոդիֆիկատորներ, բաղադրատոմսեր, պաշարներ, մատակարարներ և գնման պատվերներ
- Անձնակազմի դերեր՝ անհատական իրավունքներով, հերթափոխեր, հաճախումներ և օրվա փակում
- Լոյալության ծրագրեր՝ մակարդակներով, պարգևներով, մարտահրավերներով և երկու հոգու հաստատմամբ
- Ֆիսկալ կտրոններ՝ offline տարբերակներով և կրկնակի փորձերով
- Սահմանափակ իրավունքներով API key-եր, հյուրի OTP մուտք և տարբերակավորված API հաճախորդների բջջային հավելվածների համար
- Սխեմայով կառավարվող CMS, էլ. նամակների դիզայներ և սեգմենտների վրա հիմնված արշավներ
Արդյունքներ
- Տվյալների մոդել
- 181
- API endpoint
- ~936
- Deploy արվող հավելված
- 6
- Ֆոնային հերթ
- 20
- 181 մոդելից բաղկացած դոմեն և ~936 API endpoint՝ մոտ չորս ամսում, երկու հոգանոց հիմնական թիմով
- Վեց deploy արվող հավելված և տասը ընդհանուր փաթեթ՝ մեկ տիպավորված monorepo-ում
- Այս պորտֆոլիոյում ներկայացված սրճարանների ցանցի հավելվածն ամբողջությամբ աշխատում է դրա հանրային API-ների վրա
Տեխնոլոգիաներ
- NestJS 11
- Prisma 6
- PostgreSQL
- Redis
- BullMQ
- socket.io
- React 19
- Electron
- Next.js 16
Ինտեգրացիաներ
- Ameria
- Idram
- Fiscal receipts
- FCM & APNs
- SMS
- SMTP
Մանրամասները, անունները և վիզուալները ընդհանրացված են՝ հաճախորդների գաղտնիությունը պահպանելու համար։ Սիրով կներկայացնեմ ճարտարապետությունը զանգի ընթացքում։
Պրոդուկտի գաղափար ունե՞ք։Եկեք ստեղծենք այն։
Պատմեք ձեր գաղափարի, պրոդուկտի կամ թիմի մասին։ Սովորաբար պատասխանում եմ մեկ աշխատանքային օրվա ընթացքում։