Dobrý den!
Cílem článku je představit platformu, která se vyvíjí ve volném čase, a zároveň zkontrolovat, jak tato platforma zvládne efekt Habr.

Obsah
- Popis platformy
- Co je dnes k dispozici
- Technické detaily (jsme přece na Habru, a čest je třeba znát)
- Odkazy a procesy pro ty, kdo chtějí vyzkoušet
- Žádost o pomoc pro všechny zájemce
A tak, začněme!
Quester
Popis platformy
Všichni máme rádi úkoly a různé hádanky. Jednoho dne jsem si uvědomil, že bych chtěl mít jednoduchou možnost vytvářet úkoly pro své přátele (a nejen pro ně) na počest nějaké události, nebo prostě tak, pro zábavu.
Když už mám to štěstí být vývojářem, „chtěl bych mít“ se musí nutně proměnit v „musíme vytvořit“!
Z pohledu uživatele představuje Quester 2 části:
- Portál pro vytváření a úpravu úkolů
- Aplikace pro plnění dříve vytvořených úkolů
Pokud to řekneme lidským jazykem — admin panel pro tvůrce, aplikace pro hráče.
Moment, který byl pro mě kritický a nezbytný — úkoly může vytvářet kdokoli, stejně jako je plnit.
Úkol sám o sobě je souborem akcí, které musí hráč provést. Akcí může být cokoliv, od odpovědi na otázku nebo přihlášení se na určitém místě, až po složitější úkony jako „Vyfotit se s plechovkou Coca-Coly na pozadí lesa“ nebo „potkat 10 hráčů plnících tento úkol“. Technicky je jakákoli akce možná v rámci této platformy, otázka je jen v prioritách a fantazii.
A samozřejmě mluvíme o jakési formě gamifikovaného produktu, takže po dokončení úkolu by hráč měl získat nějakou odměnu, ať už to jsou herní body uvnitř platformy, dárkový kupon nebo skutečný dárek.
A to vše je plně přizpůsobitelné tvůrcem úkolu!
Co je už nyní k dispozici
Projekt je ve beta verzi, takže funkčnost není příliš rozsáhlá (ale přesto stojí za zmínku na Habru, nechci vám tu ukázat žádný landing, ale něco funkčního 🙂)
- Admin panel. To je webová aplikace, kde si každý může vytvořit a publikovat úkol. Sada možných akcí je zatím omezena na odpověď na otázku (s možností několika odpovědí), skenování QR kódu a přihlášení se na určitém místě.
- Aplikace. Zde si můžete projít úkoly vytvořené vámi nebo jakýmikoli jinými uživateli.
- Integrace administrace a aplikace. Vytvořené úkoly mohou být sdíleny ve formě odkazu nebo QR kódu, které aplikace dokáže rozpoznat a otevřít.
Odkazy budou uvedeny níže, ale už zde chci udělat upozornění – všechno funguje na staging prostředí, produkční prostředí ještě není připravené. Proto se nedivte odkazům, které obsahují 'staging' v názvu.
Technické detaily
Backend plánovali udělat na Linuxu. Backend interaguje s DB, načítá potřebný seznam privilegií a poté, v závislosti na tom, jaká privilegium má autorizovaný uživatel, poskytuje přístup k podepisování finančních dokumentů a jejich zasílání k realizaci, nebo generaci nějaké zprávy.
Mikroslužby, jediné místo pro přístup zvenčí — GraphQL endpoint, docker, kubernetes, node.js a trocha Go, MongoDB jako databáze, všechno je to moderní a trendy, připravené na nějakou módní konferenci.
AdminTool
React, Apollo GraphQL klient. Nic zvláštního, jen obyčejná webová aplikace.
Aplikace
React Native, tedy dostupné na Android a iOS. Apollo GraphQL klient pro práci s daty, také nic zvláštního a složitého.
Jak vyzkoušet
Pokud se nic neotvírá
Vše je nasazeno na serverech Digital Ocean v datacentru v Londýně.
Úplně jsem zapomněl na blokace v Rusku, takže je pravděpodobné, že IP adresy mých serverů jsou stále na seznamu blokovaných.
Omlouvám se všem, kdo se s tímto setkají, a upřímně si sypu popel na hlavu — velmi nečekaná chyba z mé strany.
Opakuji — celá platforma je v aktivním vývoji a ještě nemůže být považována za ready for production! Všechno by mělo fungovat, ale také by se to mělo rozbíjet bez zábran a s potěšením. Prosím mějte to na paměti.
Takže, autorizace uživatele pouze přes Facebook. Důvod je maximálně jednoduchý — snadnost implementace. Neshromažďuji o vás žádné údaje kromě e-mailu, jména a profilového obrázku. O GDPR a možnosti odejít z platformy čtěte níže.
- Admin panel:
- Aplikace:
- Android:
- iOS: funguje mnohem méně stabilně než Android verze. Pokud se rozhodnete zkusit, napište mi přímo, pošlu vám odkaz osobně.
Jakékoli komentáře, zpětná vazba a kritika jsou samozřejmě vítány, nejlépe e-mailem na support@quester-app.io. Tam můžete také napsat a požádat o smazání všech vašich údajů (GDPR compliant!)
Žádost o pomoc
Pokud vás něco na této platformě zaujalo, ať už se jedná o vývoj, obchodní část nebo cokoliv jiného — napište mi na nikita@quester-app.io! Rád vám povím více o projektu, plánech a všem ostatním. V současné době projekt vyvíjím pro vlastní potěšení, ale v plánech je mnoho zajímavého a rozmanitého.
Děkuji za pozornost,
nikita@quester-app.io
Zdroj: habr.com
