LibraryTracker-an app to keep track of and organize resources in Libraries. Built using skills needed for the AP CS A exam.
I'm Sebastian Waldman, Currently in Ms. Mouzakitis's Period 7 Annual Intro to CS class.
- Import important items commonly located in libraries via a CSV file
- Import members of a library via a CSV file
- Import each member's checkouts via a CSV file
- Sorts Data by...
- Items checked out longest
- Items due soonest
Clone this repository by running the following:
git clone https://github.com/dfn-slxxp/LibraryTracker.gitFor this tool, you will need 3 CSV files.
This file must be formatted in the following way (examples provided per type):
Type,Item Id,Name/Title,Author (only for Books), Type(Device + Disk)/Genre(Book)/Publisher(Newspaper)
Book,1,Shatter Me,Tahereh Mafi,Fantasy
Device,2,Lenovo Laptop,,Laptop
Newspaper,7,Before the Glow Fades: Figure Skating as Art,,NYT
Disk,6,KPOP Demon Hunters Soundtrack,,CDType: The Type of Item: Book, Device, Newspaper, or DiskItem Id: Unique Item ID number. Cannot be the same as another itemName: Name or Title of the ItemAuthor: This field is only for books. Name of AuthorMisc Info:- For Books: Genre: "Fantasy", "Realistic", "Nonfiction", "Other"
- For Devices: Type: "Laptop", "IPad", "Desktop", "Other"
- For Disks: Type: "CD", "DVD", "Bluray", "Other"
- For Newspapers: Publisher: "NYT", "LAT", "WSJ", "USA Today", "Washington Post", "Other"
This file must be formatted in the following way (examples provided)
ID,Name
0,Sebastian Waldman
1,Daniel Manita
5,Lucas OuID: Unique Member ID. Cannot be repeated for multiple users.Name: Name of the Member
This file must be formatted in the following way (examples provided)
Member ID,Item ID,Checkout Date
4,1,20260101
4,2,20251228Member ID: Member ID, same one used in Members.csvItem ID: Item ID, same one used in Items.csvCheckout Date: Date of Checkout, in YYYYMMDD format. For example, 1/28/2026 would be 20260128. Note that this is the same format the program outputs the date as
- In the directory of the project, run
./gradlew build
-
In the directory of the project, run
./gradlew run
-
You will then be prompted to enter File Paths to your CSV files. The files will default to the test files in "app/src/main/resources".
-
In the directory of the project, run
javac -d bin app/src/main/java/library/project/*.java app/src/main/java/library/project/Items/*.java
This will compile the Java files into bin
-
In the same directory, run
cp app/src/main/resources/*.csv bin/This will copy the test CSVs into the bin directory as well. If you are using your own CSV files, run
cp [Path to the folder containing your CSV files]/*csv binThis will copy your CSV files into bin
- Simply run the Project's Librarian class using:
java -cp bin library.project.Librarian