PetGuide
Pomáha vybrať si plemeno mačky a overenú chovateľskú stanicu a neurónovou sieťou rozpozná plemeno mačky z fotky.

O projekte
Semestrálny tímový projekt na FIIT STU z rokov 2022 až 2023, pod značkou maciatka.eu. Spája ľudí, ktorí hľadajú zdravú mačku s rodokmeňom, s overenými slovenskými chovateľskými stanicami a pomáha aj tým, ktorí ešte nevedia, aké plemeno chcú.
Plemeno sa dá nájsť dvoma spôsobmi. V krátkom dotazníku návštevník nastaví, aká aktívna, prítulná alebo zhovorčivá má mačka byť, zoradí vlastnosti podľa dôležitosti a dostane najbližšie plemená s percentom zhody. Alebo nahrá fotku mačky, ktorá sa mu páči, a neurónová sieť v samostatnej službe v Pythone odhadne plemeno.
Zvyšok stránky tvorí katalóg plemien a chovateľských staníc. Registrovaní používatelia môžu stanice hodnotiť a administrátor recenzie schvaľuje a spravuje stanice aj sponzorov. Stránka je po slovensky aj po anglicky.
Boli sme sedemčlenný tím a pracovali sme podľa Scrumu, so šprintmi, plánovaním a revíziami. Bol som zodpovedný za dotazník na výber plemena a jeho vyhodnotenie, databázové modely a úvodné dáta, stránky plemien, preklady a používateľské účty. Klasifikátor plemien som tiež zabalil do malej služby vo FastAPI a prepojil ho s aplikáciou v Laraveli. Ostatní členovia tímu pripravili neurónovú sieť, recenzie staníc, moderovanie v administrácii a Docker.
Čo si môžete vyskúšať
- Dotazník na výber plemena s posuvníkmi vlastností a poradím dôležitosti cez drag and drop
- Rozpoznanie plemena z nahratej fotky s najpravdepodobnejšími plemenami a ich pravdepodobnosťou
- Stránky plemien s galériou, vlastnosťami, históriou a chovateľskými stanicami, ktoré plemeno chovajú
- Zoznam chovateľských staníc s vyhľadávaním podľa názvu a plemena, s recenziami a fotkami od používateľov
- Registrácia a prihlásenie, aj cez Google alebo Facebook, a obnovenie hesla cez e-mail
Hlavné body
- Vyhodnotenie dotazníka: každé plemeno dostane skóre podľa váženej vzdialenosti medzi jeho vlastnosťami a odpoveďami, pričom vlastnosti vyššie v poradí majú väčšiu váhu
- Databázové modely a vzťahy pre plemená, vlastnosti a stanice so seedermi, ktoré načítajú vlastnosti plemien z tímovej tabuľky
- Detailné stránky plemien s galériou a zväčšením obrázka a so zoznamom staníc pre každé plemeno
- Registrácia, prihlásenie cez Google a Facebook pomocou Laravel Socialite, pravidlá pre heslá a obnovenie hesla
- Slovenské a anglické preklady, prepínač jazyka a vlastná chybová stránka
- Middleware len pre administrátorov, karusel sponzorov a dotyková podpora dotazníka na mobile
Ako to funguje
- Aplikácia v Laraveli 9 so šablónami Blade, Bootstrapom a jQuery UI nad databázou MySQL
- Klasifikátor plemien je model v Kerase postavený na VGG16 a beží vo FastAPI; Laravel pošle fotku ako base64 a dostane späť pravdepodobné plemená
- Webová aplikácia, služba v Pythone a databáza bežia ako samostatné kontajnery v Docker Compose
- Kedy
- 2022 – 2023
- Typ
- Tímový
- Vedenie
- Dotazník na výber plemena, účty a prepojenie s klasifikátorom v sedemčlennom tíme
- Verzie
- Laravel 9
- TensorFlow 2.10
- Technológie
- Laravel
- PHP
- MySQL
- FastAPI
- Python
- TensorFlow
- Keras
- Bootstrap
- Docker