👋 Vítejte u zadání pro kandidáty na pozici 📲 iOS/Android Software Developer v NFCtron! Vaším úkolem bude vytvořit jednoduchou mobilní aplikaci, kde demonstrujete své znalosti a případné zkušenosti z mobilního vývoje.
V NFCtron jsme před rokem přepsali naší aplikaci do Kotlin Multiplatform. V Kotlinu udržujeme business logiku aplikace. UI píšeme nativně ve SwiftUI a Jetpack Compose. I tvým úkolem bude tedy vytvořit jednoduchou mobilní aplikaci pomocí KMP a nativních UI frameworků.
👉🏻 O aplikaci
Vytvoříš jednoduchou aplikaci pro iOS/Android. Počítáme s tím, že hned nebudeš schopen napsat aplikaci pro obě platformy, na to ti dáme prostor u nás. Můžeš si tedy vybrat jednu a tu nám poslat. Dáme ti prostor a design necháme na tobě. Měj na paměti, že každá platforma má svoje UI/UX guidelines a ty chceme dodržovat. Co se týče shared KMP modulu, tak bychom byli rádi, kdyby byla většina kódu právě tady, sdílená pro obě platformy.
Z různých free to use API jsme vybrali právě CoinGecko. Toto API poskytuje dostatečné množství dat a podporuje různá filtrování.
Co bude cílem a obsahem aplikace? Aplikace bude zobrazovat trending kryptoměny. Uživatel bude moci vybrané kryptoměny označit jako oblíbené. Oblíbené kryptoměny uvidí v separátním seznamu, ze kterého je může i odstranit. Co když tvoje oblíbená kryptoměna nebude v trending seznamu? V aplikaci si ji budeš moct vyhledat a přidat do seznamu oblíbených.
- Seznam trending kryptoměn. [Trending Search List]
- Seznam oblíbených kryptoměn. [Coins List with Market Data]
- V listingu jsou vidět informace o růstu za poslední časový úsek, ilustrace grafu, jméno a aktuální cena.
- Označení oblíbených kryptoměn.
- Vyhledávání v kryptoměnách. [Search Queries]
- Aplikace persistuje poslední aktuální data pro offline přístup.
- Aplikace dodržuje iOS/Android konvence a guidelines
- Lokalizace aplikace.
- Graf vývoje ceny za různá časová období.
- Aplikace pro druhou platformu. 🔥
- Unit a UI testy.
A dalším vychytávkám se meze nekladou! Ukažte, co umíte! 💫
- SwiftUI/Jetpack Compose
- Kotlin Multiplatform
- MVVM architektura
- Koin
- Ktor
- SQLDelight
- KDoctor
- SwiftLint + ktlint
- Využití jiných knihoven není zakázáno.
- Dbejte na kvalitu kódu, jeho čitelnost a strukturu.
- Dávejte si pozor na porušení architektury.
- Informace stačí zobrazovat v USD.
Podporujeme a oceníme růst, na ten je v NFCtron prostoru dost! 📈 Naučil ses něco nového, nebo tě něco zaujalo? Určitě napiš do svého COMMENTS.md
své pocity a cestu vývojem aplikace. 🚀
- Funkčnost a splnění funkčních požadavků.
- Vzhled aplikace a dodržení platform specific guidelines.
- Kvalita, struktura a komentování/dokumentace kódu.
- Práce s Git.
- Udělejte si fork tohoto repozitáře.
- Nastavte si své oblíbené vývojové prostředí.
- Dokončete úkol dle požadavků a zadání výše.
- Průběžně commitujte a pushujte své změny.
- Otestujte řádně svou aplikaci.
- Po dokončení úkolu zašlete odkaz na repozitář na email [email protected]:
📧 Máte-li jakékoli dotazy nebo potřebujete pomoci, neváhejte se na nás obrátit.
Přejeme vám hodně štěstí a těšíme se na vaše řešení! 🌟
–– Tým NFCtron