Recruitment Task App - record time which a user spends on tasks defined by himself

Overview

Recruitment-Task

The purpose of this application is to record time which a user spends on tasks defined by himself. The user can add new tasks. New task name is validated – it can’t be empty or repeated. Tasks names are stored in shared preferences so they are available after application restart.

The application is written in MVVM pattern and uses Jetpack Compose to display UI. Hilt is used as a dependency framework and Kotlin coroutines is the desired mechanism for asynchronous operations.

Below you can find the list of tasks to implement in the application:

  1. Try to understand the code and the application. We would like to verify if you are able to work with already written code and understand it.

  2. Your task is to add a mechanism to record time which users spend on each task. The timer should be displayed next to play button. Users can press the play button next to the task name which should result in displaying a timer. After finishing his task the user presses the button again and the recorded value should be stored in a persistent way which means it should survive screen rotation and restart of the application. You may find some ready components for measuring time in Kotlin Coroutines.

  3. After clicking the task name the user should be redirected to the new screen where all recorded times should be available as a list. There should be an additional component which displays summary value.

  4. After the application goes into background the time measurement can be stopped by the Android system to free resources. When at least one timer is running then run foreground service to stop this behaviour. Service should be stopped when no task is in progress.

  5. Application should support Android devices from API level 21 to 31.

You might also like...
Using Resilience4J, this is a Demo project which uses a Library as background and manages all its requests.

Using Resilience4J, this is a Demo project which uses a Library as background and manages all its requests. This library can rent books online and the usage rate is extremely high. There is a reactive way to access, which is the one normally used, but sometimes, the system needs a bit of help from an old machine running a non-reactive MVC Spring application using JPA. Let's make this in Kotlin and find the best solution!

vShell (Virtual Shell) — a successor of Termux project which provides an alternate implementation of the Linux terminal emulator for Android OS

vShell (Virtual Shell) — a successor of Termux project which provides an alternate implementation of the Linux terminal emulator for Android OS

Experimental optical character recognition app
Experimental optical character recognition app

android-ocr An experimental app for Android that performs optical character recognition (OCR) on images captured using the device camera. Runs the Tes

I was fed up with writing Java classes to mirror json models. So I wrote this Java app to automate the process.

Json2Java I was fed up with writing Java classes to mirror json models. So I wrote this Java app to automate the process. What this tool can do right

A plug and play ;) android library for displaying a
A plug and play ;) android library for displaying a "rate this app" dialog

Easy Rating Dialog This lib provides a simple way to display an alert dialog for rating app. Default conditions to show: User opened the app more than

Tool for Android app development

RateMeMaybe Asks the user if (s)he wants to open the Play Store to rate your application when certain requirements are met (see below). This can and s

Android library that manages your app's cached data with ease.
Android library that manages your app's cached data with ease.

Teller Android library that makes your apps faster. Teller facilitates the downloading, saving, and reading of the cached data of your app. Keep your

基于Appium的 App UI 遍历 & Monkey工具 (支持操作步骤回放)
基于Appium的 App UI 遍历 & Monkey工具 (支持操作步骤回放)

UICrawler 基于Appium的App UI遍历 & Monkey 工具 针对个人和公司提供有偿UI自动化技术、接口自动化技术、接口mock技术等培训及测试工具定制开发 QQ 技术交流群 : 728183683 环境搭建及基本使用说明 环境搭建(感谢网友harsayer倾力之作): https

Demonstration of calling requestFocusFromTouch() in WebView is changing colors in Android app
Demonstration of calling requestFocusFromTouch() in WebView is changing colors in Android app

webview-changing-colors-bug Demonstration of calling requestFocusFromTouch() in WebView is changing colors in Android app This is the problematic code

Owner
Sylwester Zieliński
Sylwester Zieliński
Netguru Android: Recruitment CR task

Netguru Android: Recruitment CR task Prerequisites Things that you need to have before starting working with a project. Your git provider (Github, Git

Piotr Górny 0 Nov 28, 2021
A Job Queue specifically written for Android to easily schedule jobs (tasks) that run in the background, improving UX and application stability.

Development in this repository is stopped. Future development continues on https://github.com/yigit/android-priority-jobqueue ========================

Path Mobile Inc Pte. Ltd. 2.4k Dec 9, 2022
Reproducer for a cacheability problem in the cacheable ShadowJar task

ShadowJar task cacheability reproducer Reproducer for a cacheability problem in the cacheable ShadowJar task, in which the task is considered up-to-da

Rob Moore 0 Oct 6, 2021
Android StrandHogg Task Injection POC

Android StrandHogg Task Injection POC This project demonstrates how StrandHogg task injection works.

Arsalan Diponegoro 9 Dec 14, 2022
An android library for displaying fps from the choreographer and percentage of time with two or more frames dropped

DEPRECATED TinyDancer is deprecated. No more development will be taking place. Check out the Google Android developer documentation for UI performance

Friendly Robot 1.9k Jan 3, 2023
Tired of manually setup test data of Kotlin data classes or POJOs? Instantiator creates Instances of any class for you so that you can focus on writing tests instead of spending time and effort to setup test data

Instantiator Tired of manually setup test data of Kotlin data classes or POJOs? Instantiator creates Instances of any class for you so that you can fo

Hannes Dorfmann 54 Dec 30, 2022
A customized video view that will automatically pause video is user is not looking at device screen!!!!!

UserAwareVideoView Featured in: Medium What is this library for? UserAwareVideoView is a customizable VideoView that smartly play and pause the video

Keval Patel 51 Jun 27, 2021
Menyimpan source code tugas User Interaction and Control, mata kuliah Pemrograman Mobile Teori, semester lima tahun 2021.

android-uic About This Project Android-uic adalah sebuah aplikasi sederhana yang dibuat untuk menyelesaikan tugas dua mata kuliah pemrograman mobile.

Galang Aidil Akbar 1 Nov 8, 2021
Android validation library which helps developer boil down the tedious work to three easy steps.

AwesomeValidation Introduction Implement validation for Android within only 3 steps. Developers should focus on their awesome code, and let the librar

Jing Li 1.1k Dec 17, 2022
An auto IBCS API response status checking tool which test tax, address and account module

IB IBCS API Test Tool An auto IBCS API response status checking tool which test tax, address and account module. Getting Started Cd to the cloned dire

Gabriel Liu 0 Oct 15, 2021