Need some work done? Post a Project Today
Design a desktop or console application in JAVA that automates a library system. Your application should access a PostgreSQL database to keep information about aspects of the database. In your database, you should keep information about students (id, name, lastname, address, date of birth, gender), books (ISBN, title, year published, category, authors, number of pages, publisher name, location), publisher (publisher name, address, telephone no), information about which books are in the library and which have been checked out, the due date of checked out books etc. that are needed to answer the queries below.
Your application should enforce the rule that a student can have at most 3 books checked out at any time. Furthermore, if a book is late when it is returned, a penalty of 5 YTL per day should be computed for each day the book is late. If a student has an overdue book, he should not be allowed to check out any other book until all his overdue books are returned.
Your application should be menu-driven (it can be a textual menu: list the options, read the user input, do the required action).Here are the menu items for your application.
* Insert a student (make sure a student is entered only once!)
* Insert a book
* Insert a publisher
* List all the books written by an author
* List all books ever checked out by a student
* List all books checked out by a student and that have not been returned yet
* List all books checked out by a student and that have not been returned yet and are overdue (use today's date)
* Most popular book in a given time period (which book has been checked out most from date1 to date2)
* Student who has checked out all the books of a specific author
* Most popular author in a given time period
* Student checks out book
* Student returns book (determine if the book is overdue, and compute penalty)
* Overdue books (i.e. books that have been checked out, and not returned by the return date, which was before today's date)
Constraints: The program must be written in Java, using JDBC.