How do you make a library management app?

Okay. No database.

So this might be for a rural mobile library, with the librarian the sole tablet owner, keeping track of the books, and letting patrons browse the shelves on their own or ask for books by topic?

It's time to learn lists and tables.

To run a library, you might need three tables:

  • borrowers (unique ID(cellphone/emailaddress?),name,address,late fee balance,borrowing history), a list of dictionaries.
  • books (title,author,copy number (for popular books), available(true/false), loan date (if out), return date (if returned), last borrower, condition)
  • book loan history (title, copy number, loan date, return date, borrower) to track down damage causes or worn books

Is tiny db applicable in this?

TinyDB is offline, and is as far from being called a database as you can get, without losing its data when you close the app.

Limited as it is, you can use 3 TinyDB instances with different NameSpaces (borrowers, books, loans) for this, one per table, one tag per table entry.

You would need a unique TinyDB tag setup for each TinyDB instance:

  • borrowers (tag = name+cell phone number), value = dictionary
  • books (tag=title+copy number), value = dictionary
  • loans (tag=borrower tag+ book tag + yyyyMMdd date)

There is a TinyDB block that returns a dictionary with all the tags and values , that could be used with the advanced list blocks for searching.

so my progress is that Imade a code that is supposed to bring back a borrowed status of a certain book when the Borrow button is clicked. However, I am having trouble retrieving the data since it does not associate the status stored in TinyDb withthe book.I am so lost I don't know what to do. Below is a picture of my code for this part


can you post these instructions here?
before continuing with your project it should be clear what can be used and what not... TinyDB is also a database, it is a tiny database...


You are tasked to make a user interface of an online


book borrowing system. The following are the features required in its user interface a. A search window for the borrower wherein the borrower could input keywords related to the book he wants to borrow in the


. b. Display the books in the screen in relation to the keywords typed by the user. c. Provide status if the book is available or already borrowed. d. Provide an interface wherein the borrower could reserve the book he plans to borrow from the


. e. Provide a prompt to the librarian of the reservation request by the borrower. f. Provide an inventory of the status and location of the books in the


for easy access and locating the book in the shelves. g. Provide an interface in which the librarian could update the status and location of the book. Develop a mobile app and generate a flowchart on how your user interface works Observe the guidelines in the powerpoint when designing your user interface.

this is the instruction givenn to us but as we discussed to our instructor that its kinda hard to put or obtain a data base online, he had given us the option of just manually storing the book and just to show that the app functioned on the parts stated above

Library management with no data base (retrieving data problem)

hello there, so I made a code that is supposed to bring back a borrowed status of a certain book when the Borrow button is clicked. However, I am having trouble retrieving the data since it does not associate the status stored in TinyDb withthe book. I am so lost I don't know what to do. Below is a picture of my code for this part.Please help me with any suggestions you might lend me and pointing outmistakes that I might have done. Thank you for your time

Have you tried setting up a Google Sheet yet?

It would be allowed by the project description.
TinyDB is an awkward fallback.

Im not very familiar with usage of google spreadsheet in mit app may i know whta purpose do it have and how does it functions

also are there any error in here ?

(Canned Reply: ABG- Export & Upload .aia)
Export your .aia file and upload it here.



ALIZE_Online_Library_App (2).aia (77.0 KB)

Also, explain the different tags you will be using and their values.

I plan to store tag for borrow, reserve, and books. But the problem Im currently facing is that The stored values on these tag cannot be locate.

When your device fails, your database of borrowed books will disappear forever. Building a database offline is nonsense in this case. A simple and free database for this purpose could be Google Sheets. Sheets could be managed from your application on your phone, or directly by logging in from your PC to Google Drive.

Unless this is some school assignment and this application won't be used in a real library, then tiny db can be used.

Actually, it is indeed a school assignment and its is just to show that an app like that is possible and can be of work... But we are constantly facing problem with the program that we are creating.... i posted a file here of our work and it is of help if you can help us pinpoint a problem or suggest what we can do.. thank you very much

So far this is the progress that we have and there is a problem everytime we set the status of the book to borrowed then press back home that happened the search bar engine does not show can someone pls help us :sob:

ALIZE_Online_Library_App_1.aia (77.8 KB)

I am not convinced you can handle one dimensional lists yet, let alone lists of lists (tables).

You designed a library that can only hold one book.

How do I know? Look at your blocks:

You are stuffing tables under tags in TinyDB, but not initializing them with Create Empty List if they are not found (first run).

You took the default for a TinyDB retrieval, and left the blank text block there, without regard for what is actually needed in your app.
Note for new parents: You're supposed to remove the stopper from the baby's mouth when you get home from the hospital.

More problems:

The blocks are not supposed to know anything about particular data items.
Where is the text box and button where the Librarian can add new books to the library?

Book status must be a two column table, if you store it under the tag 'Book Status'.
It must be suitable for use with the list block Lookup In Pairs, with book names in column 1 and book statuses in column 2.

Go back and reread all the introductory links in

and go online to start a books spreadsheet at Google Sheets.
It's much easier than TinyDB.

thank you very much for this inputs regarding our project. we already left this initial progress and redo our work using a database specifically, the firebase. thankfully we had finished successfully. thank you for this insights though i have learned and discovered new things about the mit app....