Library Management System
This is a Java Lab Project. Would you like to know how to create a library management system that allows you to register and consult the available books and magazines, as well as lend them to users? In this article I am going to tell you how I have developed this project as part of a 1ºDAM internship at IES Francisco de los Ríos. In addition, I will explain what technologies I have used, what difficulties I have encountered and what benefits this experience has brought me.
What is a library management system?
A library management system is a computer application that facilitates the organization and control of the bibliographic material found in a library. Among its main functions are:
How did this project come about?
This project arose as a proposal from the Programming teacher of the first year of the intermediate training cycle of Multiplatform Application Development (DAM) at the IES Francisco de los Ríos. The objective was to put into practice the knowledge acquired during the first term on object-oriented programming, data structures and algorithms.
The professor gave us some general guidelines on the functionalities that the system should have, but he left us free to design and implement our own solution. He also encouraged us to investigate and learn about other more advanced technologies that could improve our project.
What technologies have I used?
To develop this project I have used entirely the Java language, since it is the one we have studied in class and with which I feel most comfortable. In addition, Java is a very versatile and powerful language, which allows you to create cross-platform applications with a wide variety of available libraries.
As a graphical interface I have used the command console, since I still had to learn about other more advanced technologies. The console has allowed me to create a simple but functional menu to interact with the user.
To store the system data I have used a serialization system, thus allowing to share and transfer data between different systems or platforms efficiently. By converting the data into a standardized format, it is easier for different programs and systems to read and use the information without worrying about differences in the structure or format of the data.
To organize the code I have used the object-oriented programming paradigm (OOP), creating classes to represent the entities of the system (book, magazine, issue, user) and their relationships (inheritance, composition). I have also applied some basic principles like