Giter Club home page Giter Club logo

zkbchallenge's Introduction

Challenge

Description

Target was to create a simple Registration App in Android.

Features

  • Registration Form with Name, Email and Birthday Validation
  • Confirmation Screen with Registration Information
  • Persist Registration Data securely in the App
  • Load persisted name and email and set it in Registration View (exception for birthday)

Technologies

  • Data Binding
  • LiveData
  • Hilt
  • EncryptedSharedPreferences

Improvements

Due to the limited time, the solution is not yet perfect.

  • Currently Error Messages are defined in Constants, better to move them to String ressources to also make them localizable.
  • There are no InstrumentedTests yet, compared to Unit Tests, InstrumentedTests are more time intensive to write and offer less benefit, with more time -> write Instrumented Tests.
  • Live Input Validation, instead of only validating the user input when clicking on the button, we could validate on typing.
  • Organise Dependencies better, introduce versions.gradle file.
  • Layouts and drawables currently in one folder, create sub folders.
  • Kotlinx.Serialization is still experimental had to add @OptIn(ExperimentalSerializationApi::class) Annotation, maybe using Jackson or GSON would be better.
  • Working with more Interfaces, it makes sense, to work with more interfaces, specially in the domain and data layer.
  • We persist the Registration data name, email and birthday and set it, when restarting the App after a successful registration. To still be able to test the birthday validator, the birthday is not set.

There might be more improvements, which we can discuss in the Interview.

zkbchallenge's People

Contributors

sdiegas avatar sdiegas-zuehlke avatar

Watchers

Harun Gezici avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.