All Projects → Karumi → KataSuperHeroesJetpack

Karumi / KataSuperHeroesJetpack

Licence: Apache-2.0 license
SuperHeroes kata for Jetpack Developers in Kotlin

Programming Languages

kotlin
9241 projects
shell
77523 projects

Labels

Projects that are alternatives of or similar to KataSuperHeroesJetpack

KataTODOApiClientIOS
TODO API Client Kata for iOS Developers. The main goal is to practice integration testing using Nocilla and Nimble.
Stars: ✭ 20 (-57.45%)
Mutual labels:  training
KataSuperHeroesIOS
Super heroes kata for iOS Developers. The main goal is to practice UI Testing.
Stars: ✭ 69 (+46.81%)
Mutual labels:  training
traindown-dart
Dart (and Flutter) library for the Traindown Markup Language. This is the reference implementation for now. It is first to receive features and fixes.
Stars: ✭ 16 (-65.96%)
Mutual labels:  training
training-materials
No description or website provided.
Stars: ✭ 47 (+0%)
Mutual labels:  training
iOSBasicTraining
Code associated to the first level of our iOS Training.
Stars: ✭ 16 (-65.96%)
Mutual labels:  training
curriculum-foundation
iSAQB Curriculum for the CPSA - Foundation Level. This repository contains copyrighted work.
Stars: ✭ 35 (-25.53%)
Mutual labels:  training
PathView
Simulate the running route of each player on the playground, and can be timed with a stopwatch
Stars: ✭ 5 (-89.36%)
Mutual labels:  training
carto-workshop
CARTO training materials
Stars: ✭ 81 (+72.34%)
Mutual labels:  training
blockchain
Blockchain, basic implementation in go
Stars: ✭ 16 (-65.96%)
Mutual labels:  training
diwa
A Deliberately Insecure Web Application
Stars: ✭ 32 (-31.91%)
Mutual labels:  training
progressive
This is the repository for my course, Building a Progressive Web App on LinkedIn Learning and Lynda.com.
Stars: ✭ 26 (-44.68%)
Mutual labels:  training
CodeCoopersLms
As Code Coopers Training (previously known as Virtual Tech Academy), we have launched a LMS for our students. We are open sourcing those LMS projects here one by one for the greater good. Please share and Mark Star if you appreciate it.
Stars: ✭ 18 (-61.7%)
Mutual labels:  training
optimum
🏎️ Accelerate training and inference of 🤗 Transformers with easy to use hardware optimization tools
Stars: ✭ 567 (+1106.38%)
Mutual labels:  training
DDTTX
DDTTX Tabletop Trainings
Stars: ✭ 22 (-53.19%)
Mutual labels:  training
tensorpeers
p2p peer-to-peer training of tensorflow models
Stars: ✭ 57 (+21.28%)
Mutual labels:  training
pwa-workshop
Workshop: Turning a regular website into a Progressive Web Application
Stars: ✭ 41 (-12.77%)
Mutual labels:  training
ModelZoo.pytorch
Hands on Imagenet training. Unofficial ModelZoo project on Pytorch. MobileNetV3 Top1 75.64🌟 GhostNet1.3x 75.78🌟
Stars: ✭ 42 (-10.64%)
Mutual labels:  training
MaxibonKataKotlin
Maxibon kata for Kotlin Developers. The main goal is to practice property based testing.
Stars: ✭ 42 (-10.64%)
Mutual labels:  training
Multi-Person-Pose-using-Body-Parts
No description or website provided.
Stars: ✭ 41 (-12.77%)
Mutual labels:  training
Wipro-PJP
Code written during Wipro PJP. 🍵📑
Stars: ✭ 60 (+27.66%)
Mutual labels:  training

Karumi logo Kata SuperHeroes with Jetpack in Kotlin Build Status


Getting started

This repository contains an Android application to show Super Heroes information:

ApplicationScreencast

This Application is based on three Activities:

  • MainActivity showing a list of super heroes with name, photo and a special badge if it is part of the Avengers Team.

MainActivity screenhot

  • SuperHeroDetailActivity showing detailed information about a super hero like his or her name, photo and description.

SuperHeroDetailActivity screenshot

  • EditSuperHeroActivity: Display options to change some attributes of a superhero like their Avengers badge, their name and their description.

EditSuperHeroActivity screenshot

The application architecture, dependencies and configuration is ready to just start migrating code to Jetpack.

To verify the correct behaviour of your code you can execute:

./gradlew executeScreenshotTests

To be able to get a deterministic test scenario all our tests will be executed on the same emulated device. Run the following to create an emulator like the one we used to get all the reference screenshots:

./scripts/start_emulator.sh

Tasks

Your task as Android Developer is to migrate the application to Jetpack components. You will do so step by step and always using tests to verify everything is still working.

Our recommendation for this exercise is:

  • Before starting
    1. Fork this repository.
    2. Checkout 00-start branch.
    3. Execute the application, explore it manually and make yourself familiar with the code.
    4. Execute MainActivityTest, SuperHeroDetailActivityTest and EditSuperHeroActivityTest to see tests run.
  • Feel free to migrate at your own pace and order but if you want to make it a bit easier, follow this order:
    1. Lifecycle
    2. Room
    3. DataBinding, LiveData and ViewModel
    4. Paging
    5. Navigation
    6. WorkManager

Considerations

If you get stuck, master branch contains the finished kata using all architecture components. There are also tags for every single new component following the above order.


Documentation

There are some links which can be useful to finish these tasks:

Data provided by Marvel. © 2019 MARVEL

License

Copyright 2019 Karumi

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].