Application Kata "My Books"

Write an application to manage books.

Imagine you have a small collection of books that you also like to lend out from time to time. You want to use this application to keep a record of who you have lent a book to. So it's not about managing an entire city library.

My Books

The first step in using the application is to add books. To do this, the user presses the "New" button. The book title is requested and the book is added to the collection. At this point, it can be lent out.

The minus button can be used to lend a book. The user enters the name of the borrower. The current date is assumed as the date.

Books that have been borrowed can be returned using the plus button. To do this, the name of the borrower is removed.

Last but not least, a book can be removed from the collection. To do this, the user presses the "Delete" button after selecting a book in the list.

Variation #1

A database is used for persistence. The database is accessed asynchronously. This prevents the Ui from freezing while a database operation is being carried out.

Variation #2

The book collection can be exported to a CSV file. A progress bar shows the progress, e.g. in the form: "Book 5 of 3456 exported".

en_USEnglish