Dmitry Isaenko

169 posts

Dmitry Isaenko banner
Dmitry Isaenko

Dmitry Isaenko

@d_isaenko_dev

Building https://t.co/HYdkweUeKw - a modular SaaS engine for Laravel. Battle-testing it by crafting https://t.co/emE5gaHP5P (next-gen CRM/ERP). Sharing architecture & dev logs.

Vinnitsa, Ukraine Katılım Ocak 2026
92 Takip Edilen18 Takipçiler
Sabitlenmiş Tweet
Dmitry Isaenko
Dmitry Isaenko@d_isaenko_dev·
Building LaraFoundry in public - a modular SaaS engine for #Laravel. 🚀 Stop rebuilding the basics. Focus on your product while I ship the core: ✅ Auth & Permissions ✅ Multi-tenancy (Native) ✅ Activity Logging ✅ i18n (DB + Cookie) ✅ Menu & Navigation 🏗️ Current: Production Vue 3 Frontend (Inertia v2) The ultimate #VILstack starter is coming. Follow the journey! 🛠️ #SaaS #BuildInPublic #PHP #VueJS
English
0
0
0
133
Dmitry Isaenko
Dmitry Isaenko@d_isaenko_dev·
The mobile menu in LaraFoundry: - Slide-out from left with GPU-accelerated transitions - Collapsible parent/child sections - Settings mode - tap to set default landing page - Icons for each module - Active state highlighting All from one `navMobile` prop. No separate mobile API. #LaraFoundry #Mobile #Vue #UX
Dmitry Isaenko@d_isaenko_dev

Building LaraFoundry in public - a modular SaaS engine for #Laravel. 🚀 Stop rebuilding the basics. Focus on your product while I ship the core: ✅ Auth & Permissions ✅ Multi-tenancy (Native) ✅ Activity Logging ✅ i18n (DB + Cookie) ✅ Menu & Navigation 🏗️ Current: Production Vue 3 Frontend (Inertia v2) The ultimate #VILstack starter is coming. Follow the journey! 🛠️ #SaaS #BuildInPublic #PHP #VueJS

English
0
0
0
5
Dmitry Isaenko
Dmitry Isaenko@d_isaenko_dev·
LaraFoundry's frontend nav has zero permission logic. The backend sends pre-filtered arrays. Vue just renders them. Desktop gets a two-tier header. Mobile gets a hamburger with collapsible sections. Same data, different layout. No Vuex. No Pinia. Just reactive refs and emits. #Vue #Inertia #LaraFoundry #Frontend
Dmitry Isaenko tweet media
Dmitry Isaenko@d_isaenko_dev

Building LaraFoundry in public - a modular SaaS engine for #Laravel. 🚀 Stop rebuilding the basics. Focus on your product while I ship the core: ✅ Auth & Permissions ✅ Multi-tenancy (Native) ✅ Activity Logging ✅ i18n (DB + Cookie) ✅ Menu & Navigation 🏗️ Current: Production Vue 3 Frontend (Inertia v2) The ultimate #VILstack starter is coming. Follow the journey! 🛠️ #SaaS #BuildInPublic #PHP #VueJS

English
0
0
0
8
Dmitry Isaenko
Dmitry Isaenko@d_isaenko_dev·
Users in LaraFoundry can set their own default landing page. Storekeeper → "Warehouse report" Manager → "Orders incoming" If permissions change and that page becomes inaccessible - the system auto-clears the default and falls back to the first available page. stored per company. recalculated on company switch. #LaraFoundry #SaaS #BuildInPublic
Dmitry Isaenko@d_isaenko_dev

Building LaraFoundry in public - a modular SaaS engine for #Laravel. 🚀 Stop rebuilding the basics. Focus on your product while I ship the core: ✅ Auth & Permissions ✅ Multi-tenancy (Native) ✅ Activity Logging ✅ i18n (DB + Cookie) ✅ Menu & Navigation 🏗️ Current: Production Vue 3 Frontend (Inertia v2) The ultimate #VILstack starter is coming. Follow the journey! 🛠️ #SaaS #BuildInPublic #PHP #VueJS

English
0
0
0
7
Dmitry Isaenko
Dmitry Isaenko@d_isaenko_dev·
Zero 403 pages in LaraFoundry. When a user hits a forbidden page, they don't see an error. They get redirected to their first accessible page with a friendly message. The FAR (First Allowed Route) pattern reuses the same permission checks that build the menu. Navigation IS authorization. Detailed post: linkedin.com/posts/dmitry-i… #LaraFoundry #Laravel #UX #SaaS
Dmitry Isaenko@d_isaenko_dev

Building LaraFoundry in public - a modular SaaS engine for #Laravel. 🚀 Stop rebuilding the basics. Focus on your product while I ship the core: ✅ Auth & Permissions ✅ Multi-tenancy (Native) ✅ Activity Logging ✅ i18n (DB + Cookie) ✅ Menu & Navigation 🏗️ Current: Production Vue 3 Frontend (Inertia v2) The ultimate #VILstack starter is coming. Follow the journey! 🛠️ #SaaS #BuildInPublic #PHP #VueJS

English
0
0
0
29
Dmitry Isaenko
Dmitry Isaenko@d_isaenko_dev·
Clicking "Warehouse" in LaraFoundry doesn't go to /warehouse. It goes to /warehouse/products - or whatever the user's default sub-page is. Each module maps to a default sub-route. Each sub-route has its own permission check. warehouse.settings needs warehouse.manageCategories, not just warehouse.view. #Laravel #Routing #LaraFoundry
Dmitry Isaenko@d_isaenko_dev

Building LaraFoundry in public - a modular SaaS engine for #Laravel. 🚀 Stop rebuilding the basics. Focus on your product while I ship the core: ✅ Auth & Permissions ✅ Multi-tenancy (Native) ✅ Activity Logging ✅ i18n (DB + Cookie) ✅ Menu & Navigation 🏗️ Current: Production Vue 3 Frontend (Inertia v2) The ultimate #VILstack starter is coming. Follow the journey! 🛠️ #SaaS #BuildInPublic #PHP #VueJS

English
0
0
0
9
Dmitry Isaenko
Dmitry Isaenko@d_isaenko_dev·
How menu filtering works in LaraFoundry: checkUserAndCompanyPolicy($policyName): Admin → always allowed 'public' → any authenticated user 'orders.view' → check user permission in company One method. Handles admin panel, business modules, and public pages. #Laravel #SaaS #LaraFoundry #Authorization
Dmitry Isaenko@d_isaenko_dev

Building LaraFoundry in public - a modular SaaS engine for #Laravel. 🚀 Stop rebuilding the basics. Focus on your product while I ship the core: ✅ Auth & Permissions ✅ Multi-tenancy (Native) ✅ Activity Logging ✅ i18n (DB + Cookie) ✅ Menu & Navigation 🏗️ Current: Production Vue 3 Frontend (Inertia v2) The ultimate #VILstack starter is coming. Follow the journey! 🛠️ #SaaS #BuildInPublic #PHP #VueJS

English
0
0
0
10
Dmitry Isaenko
Dmitry Isaenko@d_isaenko_dev·
LaraFoundry's entire navigation system is one service class - LayoutDataService. It builds 4 menu variants per request: - Desktop top-level (module tabs) - Desktop bottom-level (sub-pages) - Mobile tree (parent/child) - Company sidebar Every item filtered by user permissions. Owner sees all. Employee sees what they're granted. #Laravel #LaraFoundry #Architecture
Dmitry Isaenko@d_isaenko_dev

Building LaraFoundry in public - a modular SaaS engine for #Laravel. 🚀 Stop rebuilding the basics. Focus on your product while I ship the core: ✅ Auth & Permissions ✅ Multi-tenancy (Native) ✅ Activity Logging ✅ i18n (DB + Cookie) ✅ Menu & Navigation 🏗️ Current: Production Vue 3 Frontend (Inertia v2) The ultimate #VILstack starter is coming. Follow the journey! 🛠️ #SaaS #BuildInPublic #PHP #VueJS

English
0
0
0
15
Dmitry Isaenko
Dmitry Isaenko@d_isaenko_dev·
Navigation in SaaS looks simple until you have 3 user types, 8 modules, granular permissions, and the menu has to rebuild on every request. I just finished the navigation module for LaraFoundry. One service class. Zero hardcoded menus. Permission-aware everything. thread this week. #Laravel #SaaS #BuildInPublic #LaraFoundry
Dmitry Isaenko@d_isaenko_dev

Building LaraFoundry in public - a modular SaaS engine for #Laravel. 🚀 Stop rebuilding the basics. Focus on your product while I ship the core: ✅ Auth & Permissions ✅ Multi-tenancy (Native) ✅ Activity Logging ✅ i18n (DB + Cookie) ✅ Menu & Navigation 🏗️ Current: Production Vue 3 Frontend (Inertia v2) The ultimate #VILstack starter is coming. Follow the journey! 🛠️ #SaaS #BuildInPublic #PHP #VueJS

English
0
0
0
11
Dmitry Isaenko
Dmitry Isaenko@d_isaenko_dev·
Building i18n for a SaaS is more than just translating strings. 🌍 For LaraFoundry, I built a dual-layer detection system: ✅ DB persistence for Auth users ✅ 10-year cookies + IP detection for Guests ✅ 5 levels of fallback logic Full architectural breakdown for the VIL stack: 🔗 dev.to/d_isaenko_dev/… #Laravel #SaaS #BuildInPublic #VueJS
Dmitry Isaenko@d_isaenko_dev

Building LaraFoundry in public - a modular SaaS engine for #Laravel. 🚀 Stop rebuilding the basics. I'm shipping the core so you can focus on your product. ✅ Registration ✅ Authentication ✅ Multi-tenancy (Native) ✅ Logging (Activitylog + Custom) ✅ Multilanguage (i18n) 🏗️ Next: Navigation & Menu System Follow for updates! 🛠️ #SaaS #BuildInPublic #VILstack

English
0
0
0
27
Dmitry Isaenko
Dmitry Isaenko@d_isaenko_dev·
@kyuwon86677 great catch!those code-switch scenarios are exacly what catch you off guard in production. adding this to the test suite for the next iteration of the i18n module. appreciate the push for even more depth!
English
0
0
0
8
kyuwon
kyuwon@kyuwon86677·
@d_isaenko_dev Love this testing depth. Adding interruption and code-switch scenarios (e.g., EN→KR mid-sentence) catches real-world translation failures early.
English
1
0
1
14
Dmitry Isaenko
Dmitry Isaenko@d_isaenko_dev·
Testing multilanguage is tedious but necessary. My test suite covers: - All 5 detection fallback levels - Language switch for auth + guest - Invalid locale handling - Translation loading + merging - Mocked DeepL/Google API responses If your i18n isn't tested, it's broken - you just don't know it yet. #Laravel #Testing #Pest #LaraFoundry
Dmitry Isaenko@d_isaenko_dev

Building LaraFoundry in public - a modular SaaS engine for #Laravel. 🚀 Stop rebuilding the basics. I'm shipping the core so you can focus on your product. ✅ Registration ✅ Authentication ✅ Multi-tenancy (Native) ✅ Logging (Activitylog + Custom) ✅ Multilanguage (i18n) 🏗️ Next: Navigation & Menu System Follow for updates! 🛠️ #SaaS #BuildInPublic #VILstack

English
1
0
0
26
Dmitry Isaenko
Dmitry Isaenko@d_isaenko_dev·
Multilanguage module for LaraFoundry is complete: - 5-step locale detection (DB->session->browser->IP->default) - vue-i18n with global t() function - Translations via Inertia props (0 extra requests) - DeepL + Google Translate API layer - 4 languages ready - Full test coverage Details on LinkedIn + Dev.tо #Laravel #SaaS #BuildInPublic #LaraFoundry #i18n #OpenSource
Dmitry Isaenko@d_isaenko_dev

Building LaraFoundry in public - a modular SaaS engine for #Laravel. 🚀 Stop rebuilding the basics. I'm shipping the core so you can focus on your product. ✅ Registration ✅ Authentication ✅ Multi-tenancy (Native) ✅ Logging (Activitylog + Custom) ✅ Multilanguage (i18n) 🏗️ Next: Navigation & Menu System Follow for updates! 🛠️ #SaaS #BuildInPublic #VILstack

English
1
0
0
37
Dmitry Isaenko
Dmitry Isaenko@d_isaenko_dev·
Two separate middleware flows for i18n in LaraFoundry: Auth users: locale saved in DB, persists across devices Guests: locale in cookie (10-year expiry), detected via IP + browser Different persistence strategies. Same detection chain. Same result. #Laravel #SaaS #LaraFoundry #WebDev
Dmitry Isaenko@d_isaenko_dev

Building LaraFoundry in public - a modular SaaS engine for #Laravel. 🚀 Stop rebuilding the basics. I'm shipping the core so you can focus on your product. ✅ Registration ✅ Authentication ✅ Multi-tenancy (Native) ✅ Logging (Activitylog + Custom) ✅ Multilanguage (i18n) 🏗️ Next: Navigation & Menu System Follow for updates! 🛠️ #SaaS #BuildInPublic #VILstack

English
0
0
0
17
Dmitry Isaenko
Dmitry Isaenko@d_isaenko_dev·
Why I keep en.json empty in LaraFoundry: English strings ARE the translation keys. `t('Dashboard')` just returns 'Dashboard' for English users. Only non-English locales need translation files. Adding new strings = just typing English in the template. less files, less maintenance, less bugs. #Laravel #i18n #BuildInPublic #LaraFoundry
Dmitry Isaenko@d_isaenko_dev

Building LaraFoundry in public - a modular SaaS engine for #Laravel. 🚀 Stop rebuilding the basics. I'm shipping the core so you can focus on your product. ✅ Registration ✅ Authentication ✅ Multi-tenancy (Native) ✅ Logging (Activitylog + Custom) ✅ Multilanguage (i18n) 🏗️ Next: Navigation & Menu System Follow for updates! 🛠️ #SaaS #BuildInPublic #VILstack

English
1
0
1
33
Dmitry Isaenko
Dmitry Isaenko@d_isaenko_dev·
LaraFoundry ships with built-in content translation via DeepL + Google Translate. One interface, two providers. Swap in config: 'translator_default' => env('TRANSLATION_SERVICE', 'deepl') Your code doesn't care which API it calls. The contract handles it. #Laravel #DeepL #API #LaraFoundry
Dmitry Isaenko@d_isaenko_dev

Building LaraFoundry in public - a modular SaaS engine for #Laravel. 🚀 Stop rebuilding the basics. I'm shipping the core so you can focus on your product. ✅ Registration ✅ Authentication ✅ Multi-tenancy (Native) ✅ Logging (Activitylog + Custom) ✅ Multilanguage (i18n) 🏗️ Next: Navigation & Menu System Follow for updates! 🛠️ #SaaS #BuildInPublic #VILstack

English
0
0
1
45
Dmitry Isaenko
Dmitry Isaenko@d_isaenko_dev·
How I pass translations from Laravel to Vue without extra API calls: HandleInertiaRequests middleware shares locale + translations as props. vue-i18n picks them up. Global t() function available everywhere. {{ t('Dashboard') }} - done. Full breakdown on LinkedIn: linkedin.com/posts/dmitry-i… #Laravel #Vue #Inertia #LaraFoundry
Dmitry Isaenko tweet mediaDmitry Isaenko tweet mediaDmitry Isaenko tweet mediaDmitry Isaenko tweet media
Dmitry Isaenko@d_isaenko_dev

Building LaraFoundry in public - a modular SaaS engine for #Laravel. 🚀 Stop rebuilding the basics. I'm shipping the core so you can focus on your product. ✅ Registration ✅ Authentication ✅ Multi-tenancy (Native) ✅ Logging (Activitylog + Custom) ✅ Multilanguage (i18n) 🏗️ Next: Navigation & Menu System Follow for updates! 🛠️ #SaaS #BuildInPublic #VILstack

English
0
0
1
20
Dmitry Isaenko
Dmitry Isaenko@d_isaenko_dev·
The entire frontend i18n setup in LaraFoundry That's literally it. No per-component imports. #Laravel #Vue #JavaScript #LaraFoundry
Dmitry Isaenko tweet media
Dmitry Isaenko@d_isaenko_dev

Building LaraFoundry in public - a modular SaaS engine for #Laravel. 🚀 Stop rebuilding the basics. I'm shipping the core so you can focus on your product. ✅ Registration ✅ Authentication ✅ Multi-tenancy (Native) ✅ Logging (Activitylog + Custom) ✅ Multilanguage (i18n) 🏗️ Next: Navigation & Menu System Follow for updates! 🛠️ #SaaS #BuildInPublic #VILstack

English
0
0
0
17