Esettanulmány · Motobro
Műhelyirányítási rendszer és weboldal egy önálló motorszerviznek.
A munkafelvételtől a számlázásig a teljes működés egyetlen, saját fejlesztésű rendszerbe és egy hozzá illő nyilvános weboldalba került. A cél: a szerelő több időt töltsön a motorok mellett és kevesebbet a papírmunkával, az ügyfél pedig mindig lássa, hol tart a motorja.
- Ügyfél
- Motobro, önálló motorkerékpár-szerviz
- Feladat
- Műhelyirányítási webalkalmazás és nyilvános weboldal
- Technológia
- Laravel 12, MySQL, Billingo V3 API
- Weboldal
- motobro.hu
Röviden
A Motobro egy önálló motorkerékpár-szerviz, amelynek a teljes működését, a munkafelvételtől a számlázásig, egyetlen saját fejlesztésű rendszerbe és egy hozzá illő nyilvános weboldalba szerveztük.
A megrendelés két, egymásra épülő részből áll: a rendszer.motobro.hu műhelyirányítási alkalmazásból és a motobro.hu bemutatkozó oldalból.
Az ügyfél és a kihívás
A Motobro mestere 2019 óta saját műhelyben, saját szerszámokkal dolgozik, elsősorban 125 cm³ feletti japán és német motorokon. Egy ilyen önálló szerviznek ugyanazokat a feladatokat kell elvégeznie, mint egy nagyobb műhelynek, de egy ember idejéből:
- a motor és a hiba rögzítése felvételkor, utána a munka követése ügyfélenként és motoronként;
- árajánlatok, alkatrész- és óradíj-számítás, a jóváhagyás bekérése;
- az ügyfél tájékoztatása és a kész motor átadása;
- számlázás, és annak követése, mi lett kifizetve;
- olyan üzleti kép, amiből kiderül, melyik munka mennyit hozott.
Ezek a lépések addig külön eszközökben és fejben éltek. A feladat az volt, hogy egyetlen helyre kerüljenek, a szerelő napi munkájához igazítva, és ne egy általános ügyviteli program körül kelljen dolgozni.
A megoldás: két felület, két közönségnek
Két külön felületet építettünk, mert két különböző közönséget szolgálnak:
| motobro.hu | rendszer.motobro.hu | |
|---|---|---|
| Kinek | Leendő ügyfeleknek | A szerelőnek, a recepciónak, a könyvelőnek és a meglévő ügyfeleknek |
| Feladata | Bizalomkeltés, a szolgáltatások bemutatása, kapcsolatfelvétel | A teljes műhelyi folyamat, a munkalaptól a számláig |
| Felépítés | Statikus, többoldalas weboldal | Laravel-alapú webalkalmazás, SQL-adatbázissal |
A két felület össze van kötve: a weboldal „Ügyfél belépés” gombja közvetlenül a rendszer belépő oldalára vezet. Mobilalkalmazást szándékosan nem készítettünk: a rendszer reszponzív webalkalmazás, így telefonon, táblán és számítógépen is ugyanaz működik, telepítés nélkül.
A műhelyirányítási rendszer
A rendszer középpontja a digitális munkalap. Minden munka egy 19 lépéses állapotsoron halad végig a felvételi protokolltól a diagnosztikán, az árajánlaton és a javításon át az átadásig és a számlázásig, és minden állapotváltás naplózódik.
Gyors felvétel
Ügyfél- és járműfelvétel alvázszámmal, motorszámmal, hengerűrtartalommal és a műszaki vizsga lejáratával, felvételi protokoll digitális aláírással.
Verziózott árajánlat
Az ügyfél tételenként is elfogadhat vagy elutasíthat, a jóváhagyás token-védett linkről bejelentkezés nélkül is megtörténhet.
Raktár és naptár
Alkatrész-törzs, raktárkészlet, beszállítók, kiadások és naptár ütközés-ellenőrzéssel.
Automatikus értesítések
24 eseményhez kötött, sablon-alapú email az ügyfélnek, például: árajánlat kész, javítás kész, fizetési emlékeztető.
Számlázás egy kattintással
A kész munkalapból számla vagy díjbekérő készül a Billingo V3 API-n keresztül, partner-egyeztetéssel és sztornó-támogatással.
Ügyfélportál
Az ügyfél látja a motorjait és a munkáit, szervizkérést indít, árajánlatot hagy jóvá, és a műhellyel a rendszeren belül üzen. Az emailben küldött válasz IMAP-on vagy webhookon át a megfelelő beszélgetésbe kerül.
Szerepkörök és kimutatások
Mindenki csak azt látja és teheti, amire a munkájához szüksége van. Az ügyfél regisztrációját a műhely hagyja jóvá, a duplikátumokat a rendszer jelzi.
| Szerepkör | Mit lát és tehet |
|---|---|
| Tulajdonos | Mindent, beleértve a beszerzési árakat, a kimutatásokat és a nyereségességet |
| Recepció | Felvétel, munkalapok, naptár, ügyfélkommunikáció |
| Szerelő | Saját munkái, időnapló, diagnosztika, felhasznált alkatrészek |
| Könyvelő | Számlák, kiadások, kimutatások |
| Ügyfél | Kizárólag a saját adatai és munkái |
A tulajdonos egy helyen látja a bevételt, az alkatrész- és óradíj-bontást, a munkánkénti nyereséget, a legjobb ügyfeleket és szolgáltatásokat, a kifizetetlen számlák öregségét, a szerelők teljesítményét és a szezonalitást.
A nyilvános weboldal
A motobro.hu egy sötét, narancs kiemelőszínű, prémium hatású oldal, amely a műhely hangulatát és a mester szakértelmét közvetíti. Öt oldalból áll:
- Szolgáltatások: kilenc szolgáltatás külön blokkban, az általános szerviztől a motorfelújításon és a kerékfűzésen át az egyedi kérésekig, a műhely saját szövege alapján, az oldal hangneméhez igazítva.
- Rólunk: a mester valódi története a gyerekkori első sportmotortól az önálló műhelyig, mert egy szerviz esetében a bizalom a legfontosabb érv.
- Videók: a Facebook-oldal tartalma élőben beágyazva, alatta kiemelt videók saját kártyadizájnnal.
- Kapcsolat: elérhetőségek, térkép és szerveroldali üzenetküldő űrlap, spamvédelemmel és bemenet-ellenőrzéssel. Az üzenet nem nyit email-klienst, a visszajelzés az oldalon marad.
Az oldal tiszta HTML, CSS és JavaScript, build-lépés nélkül. Asztali gépen, táblán és telefonon is jól működik, a SEO-hoz meta-leírások és AutoRepair strukturált adat tartozik.
Technológia és tárhely
A technológiát a tárhely határai szabták meg: a rendszer egy átlagos megosztott (cPanel) tárhelyen fut, ezért éles környezetben nincs szükség VPS-re, Redisre, Dockerre vagy Node-ra.
| Réteg | Megoldás |
|---|---|
| Alkalmazás | Laravel 12, PHP 8.2+ |
| Adatbázis | MySQL / MariaDB |
| Felület | Blade-sablonok, saját CSS és JavaScript |
| Hitelesítés | Két külön belépési és jogosultsági kör (munkatársak, ügyfelek), kétfaktoros azonosítás |
| Számlázás | Billingo V3 API |
| Szerveroldali PDF-generálás (árajánlat, felvételi lap) | |
| Sablon-alapú értesítések, bejövő válaszok IMAP-pal | |
| Ütemezett feladatok | cron: fizetési és szerviz-emlékeztetők, napi biztonsági mentés |
| Tesztek | PHPUnit tesztcsomag a jogosultságokra, a munkalap-életciklusra, a számlázásra és az ügyféladatok szétválasztására |
Az éles telepítéshez lépésről lépésre készült útmutató, valamint négy szerepkör-specifikus felhasználói kézikönyv: tulajdonos és recepció, szerelő, könyvelő, ügyfélportál.
Biztonság és adatvédelem
A rendszer személyes és pénzügyi adatot kezel, ezért a védelmet a szerkezetbe építettük, nem utólag ragasztottuk rá.
- Központi jogosultság-ellenőrzés: minden művelet egy közös engedélyező rétegen megy keresztül, a szerepkörök és engedélyek adatbázisból állíthatók.
- Ügyféladatok szétválasztása: az ügyfél az azonosító vagy az URL átírásával sem férhet hozzá más ügyfél adataihoz, ezt automatizált teszt is ellenőrzi.
- A beszerzési ár védelme: a
cost_pricemezőt a számlázási lekérdezések meg sem kapják, így szerkezetileg sem kerülhet ki a számlára, és a tulajdonoson kívül más szerepkörhöz sem jut el. - Kétfaktoros belépés a munkatársaknak, auditnapló az érzékeny műveletekről: ki, mit, mikor, mely IP-címről.
- Napi automatikus mentés a tárhely ütemezőjén keresztül.
- Kifejezett adatkezelési hozzájárulás az ügyfélregisztrációhoz, az ügyfélfiókot a műhely hagyja jóvá.
Tanulságok
Négy dolog, amit ebből a projektből minden hasonló fejlesztésbe viszek.
A technológiát a tárhely határozza meg
A megosztott tárhely korlátai (nincs sor-feldolgozó, nincs websocket) és a cron-alapú ütemezés a tervezés elejétől be voltak számolva, így élesítéskor semmit nem kellett áttervezni.
Egy szerepkör-mátrix az elején sok javítást spórol
A jogosultságok központi, adatbázis-alapú kezelése miatt új szerepkör vagy engedély kódmódosítás nélkül felvehető.
A valódi tartalom többet ér a látványosnál
A weboldal legerősebb része a mester saját története és a valódi szolgáltatásleírás lett. A fotókat és videókat ezért a műhely saját anyagából érdemes pótolni.
A függőségek frissessége számít
Élesítéskor kiderült, hogy a Laravel 11 minden elérhető verziójához ismert biztonsági figyelmeztetés tartozik, ezért a Composer le is tiltotta. A rendszer ezért a támogatott Laravel 12-re épül.
Következő lépések
- Online időpontfoglalás és grafikus heti naptárnézet.
- SMS-értesítések, QR-kód a munkalapon, vonalkód az alkatrészekhez.
- A Facebook-videók automatikus behúzása.
- Excel-export a könyvelőnek, távoli tárhelyre mentő biztonsági másolat.
Nálad is külön eszközökben és fejben él a működés?
Ha a vállalkozásod napi folyamatai táblázatokban, emailekben és fejben vannak szétszórva, nézzük meg, hogyan lehet belőlük egyetlen rendszer, ami a te munkádhoz igazodik, és nem fordítva.