Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
108 commits
Select commit Hold shift + click to select a range
28e6b5e
Library Name Subclass
Jstrine09 Mar 9, 2026
e51249a
Merge pull request #1 from Nishatlabiba98/James-Branch
Nishatlabiba98 Mar 9, 2026
bd13132
team
josemcastillo7 Mar 9, 2026
a946c93
interface
Nishatlabiba98 Mar 9, 2026
ec77aa8
Address Class
Zoedayz Mar 9, 2026
d39f478
LibraryItemClass
josemcastillo7 Mar 9, 2026
d35ab2b
Item
josemcastillo7 Mar 9, 2026
578e2fe
Josephs
josemcastillo7 Mar 9, 2026
a527d58
code
Nishatlabiba98 Mar 10, 2026
4ed5a66
Changes
josemcastillo7 Mar 10, 2026
4161ba2
Josephs branch (#2)
josemcastillo7 Mar 10, 2026
06bc5b3
James branch (#3)
Jstrine09 Mar 10, 2026
e761606
Address Class
Zoedayz Mar 10, 2026
86f30f8
saved changes
Zoedayz Mar 10, 2026
d0994ef
Merge branch 'master' of https://github.com/Nishatlabiba98/CentralLib…
Zoedayz Mar 10, 2026
beda9a4
Created test file for Person
Jstrine09 Mar 10, 2026
2ea086c
Address Test File works
Jstrine09 Mar 10, 2026
80b98d0
Corrected the Address test
Jstrine09 Mar 10, 2026
4e4c9bd
added Book.java
josemcastillo7 Mar 10, 2026
608faa3
Address Test File (#5)
Jstrine09 Mar 10, 2026
e4c81a6
book
josemcastillo7 Mar 10, 2026
db62f84
Merge branch 'master' into Josephs-Branch
Nishatlabiba98 Mar 10, 2026
20dc8c4
Josephs branch (#6)
josemcastillo7 Mar 10, 2026
f4a0008
Merge branch 'master' into James-Branch
Jstrine09 Mar 10, 2026
6ea1bf8
resolved merge conflict
Zoedayz Mar 10, 2026
767d3d3
Finished the Periodical File
Jstrine09 Mar 10, 2026
0a899dd
Periodical Test File complete
Jstrine09 Mar 11, 2026
41c2ab8
Finished the Periodical File (#7)
Jstrine09 Mar 11, 2026
19a8b7a
added jackson library to the pom file
Nishatlabiba98 Mar 11, 2026
e19c0b0
json
Nishatlabiba98 Mar 11, 2026
d004237
Book.java edits
Jstrine09 Mar 11, 2026
af3ba3f
Pom.xml
Jstrine09 Mar 11, 2026
82e681f
Changes to code format
Jstrine09 Mar 11, 2026
1c18186
Fixed Person test bug
Jstrine09 Mar 11, 2026
3561e41
booking
josemcastillo7 Mar 11, 2026
23578f5
title
josemcastillo7 Mar 11, 2026
93a0909
Checkpoint on Library.java file
Jstrine09 Mar 11, 2026
4fcaccd
author
josemcastillo7 Mar 11, 2026
d51c031
morning commit to update any minor grammar changes
Nishatlabiba98 Mar 11, 2026
07188fc
Merge branch 'master' of https://github.com/Nishatlabiba98/CentralLib…
Nishatlabiba98 Mar 11, 2026
8953902
Display and Search methods
Jstrine09 Mar 11, 2026
f631e04
test
josemcastillo7 Mar 11, 2026
f319739
commit
Nishatlabiba98 Mar 11, 2026
a4f68f5
commit
Nishatlabiba98 Mar 11, 2026
0aaa8d6
commit
Nishatlabiba98 Mar 11, 2026
1b96d41
Removed the overide because it isnt needed yet
Jstrine09 Mar 11, 2026
c6f5c43
new submit
josemcastillo7 Mar 11, 2026
996a6e7
Merge branch 'master' into Josephs-Branch
Nishatlabiba98 Mar 11, 2026
0496e5f
Merge branch 'Josephs-Branch' of https://github.com/Nishatlabiba98/Ce…
Nishatlabiba98 Mar 11, 2026
7225c30
Merge pull request #9 from Nishatlabiba98/Josephs-Branch
Nishatlabiba98 Mar 11, 2026
a7e267a
Corrected errors and am hopefully back to square 1
Jstrine09 Mar 11, 2026
93d6693
Merge pull request #10 from Nishatlabiba98/James-Branch
Nishatlabiba98 Mar 11, 2026
d9b0655
merge recent pr
josemcastillo7 Mar 11, 2026
607fe6b
Created Music class and made small edits to Periodicals
Jstrine09 Mar 11, 2026
af86540
Music Test file
Jstrine09 Mar 11, 2026
fea38fb
Checkpoint commit
Jstrine09 Mar 11, 2026
c9660f9
librarymember, librarian
Nishatlabiba98 Mar 12, 2026
8a6261e
Removed space
Jstrine09 Mar 12, 2026
108dbc0
nishat
Nishatlabiba98 Mar 12, 2026
5e3f0b1
Merge branch 'master' of https://github.com/Nishatlabiba98/CentralLib…
josemcastillo7 Mar 12, 2026
1a10089
Merge branch 'master' of https://github.com/Nishatlabiba98/CentralLib…
Jstrine09 Mar 12, 2026
b65a32d
Nishats files
Jstrine09 Mar 12, 2026
d053440
Deleted duplicate file
Jstrine09 Mar 12, 2026
6dc4608
movie
josemcastillo7 Mar 12, 2026
c9ae45f
Merge pull request #12 from Nishatlabiba98/Josephs-Branch
Nishatlabiba98 Mar 12, 2026
780d908
Edited the library member
Jstrine09 Mar 12, 2026
f95eef6
Edited files to remove errors
Jstrine09 Mar 12, 2026
2c77adb
Whitespace change
Jstrine09 Mar 12, 2026
b9fd908
Whitespace stuff
Jstrine09 Mar 12, 2026
d8bcb8f
Merge branch 'master' of https://github.com/Nishatlabiba98/CentralLib…
Zoedayz Mar 12, 2026
78ec5dc
Merge branch 'master' of https://github.com/Nishatlabiba98/CentralLib…
Zoedayz Mar 12, 2026
f280cf1
Added LateDays and BorrowedDays to code
Jstrine09 Mar 12, 2026
23a656a
Added Override in necessary areas
Jstrine09 Mar 12, 2026
a61bfe3
Merge pull request #13 from Nishatlabiba98/MDuffyLibrary
Nishatlabiba98 Mar 12, 2026
f0c26e7
Merge branch 'master' of https://github.com/Nishatlabiba98/CentralLib…
Jstrine09 Mar 12, 2026
f4554af
Edits to DVD and other files
Jstrine09 Mar 12, 2026
a658991
Merge pull request #14 from Nishatlabiba98/James-Branch
Nishatlabiba98 Mar 12, 2026
26f6c0b
DVD Checkpoint
Jstrine09 Mar 12, 2026
80d70e1
Added reservable to DVD
Jstrine09 Mar 13, 2026
795156a
Added the getter for Reservedby
Jstrine09 Mar 13, 2026
dbec53f
Added reservable and searchable to Music
Jstrine09 Mar 13, 2026
f4fd7cc
Added Reservable to Movie
Jstrine09 Mar 13, 2026
36edaeb
searchable updated and tested
Nishatlabiba98 Mar 13, 2026
2587a7a
Removed the isbn from Library item
Jstrine09 Mar 13, 2026
5362822
Edits to Book and DVD Test and Periodical
Jstrine09 Mar 13, 2026
ba117ea
searchable merge with main
Nishatlabiba98 Mar 13, 2026
3418d24
Merge branch 'master' of https://github.com/Nishatlabiba98/CentralLib…
Jstrine09 Mar 13, 2026
3493930
Made edits it Book and other files as well as removed duplicate booktest
Jstrine09 Mar 13, 2026
9433d82
Created Borrowed Class file
Jstrine09 Mar 13, 2026
ac79ebc
Made small edits to Library and Main APP
Jstrine09 Mar 13, 2026
938f0e2
Merge pull request #15 from Nishatlabiba98/James-Branch
Nishatlabiba98 Mar 13, 2026
1becfd2
Editing the Mainapp to add borrow and return item features
Jstrine09 Mar 14, 2026
1053fc6
Added to and removed errors from Main App
Jstrine09 Mar 14, 2026
6dd283c
Making edits to classes and Main App to make searchable
Jstrine09 Mar 14, 2026
3529010
Created file for loading json files
Jstrine09 Mar 14, 2026
92f47fc
Small edits to files
Jstrine09 Mar 14, 2026
2a3ddcc
Made changes to Person.java
Jstrine09 Mar 14, 2026
bdc5ff7
Made a main.java file, should be working.
Jstrine09 Mar 14, 2026
2f4bac6
Created mock json files to test Main
Jstrine09 Mar 14, 2026
bc46050
Fixed MOvies.json
Jstrine09 Mar 14, 2026
2dd2270
Created Main.java and have a base interface
Jstrine09 Mar 14, 2026
67b52a6
Most Updated Code
Jstrine09 Mar 14, 2026
2783274
Merge pull request #16 from Nishatlabiba98/James-Branch
Nishatlabiba98 Mar 14, 2026
e3ee689
Added the Books, Music and Periodicals to resources folder
Jstrine09 Mar 15, 2026
bb79b51
Edited the periodicals
Jstrine09 Mar 15, 2026
f7e7a8b
Adding count limit for results so it doesnt slow the program
Jstrine09 Mar 15, 2026
8052615
Merge pull request #17 from Nishatlabiba98/James-Branch
Nishatlabiba98 Mar 15, 2026
507e357
added all json files from data, library is running
Nishatlabiba98 Mar 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,5 @@ deploy:
provider: script
script: "mvn test"
skip_cleanup: true
on:

tags: true
3 changes: 3 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"java.configuration.updateBuildConfiguration": "interactive"
}
30 changes: 27 additions & 3 deletions pom.xml
Original file line number Diff line number Diff line change
@@ -1,12 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com.zipcodewilmington</groupId>
<artifactId>central-library</artifactId>
<version>1.0-SNAPSHOT</version>

<dependencies>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.16.1</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.10.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
</dependency>
</dependencies>

</project>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
</properties>


</project>
32 changes: 32 additions & 0 deletions src/main/java/com/zipcodewilmington/centrallibrary/Address.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
package com.zipcodewilmington.centrallibrary;


public class Address{
private String street;
private String city;
private String state;
private String zipcode;

public Address(String street, String city, String state, String zipcode) {
this.street = street;
this.city = city;
this.state = state;
this.zipcode = zipcode;
}

public String getStreet() {return street; }
public String getCity() {return city; }
public String getState() {return state; }
public String getZipcode() {return zipcode; }

public void setStreet(String street) {this.street = street; }
public void setCity(String city) {this.city = city; }
public void setState(String state) {this.state = state; }
public void setZipcode(String zipCode) {this.zipcode = zipCode; }

@Override
public String toString() {
return street + ", " + city + ", " + state + ", " + zipcode;
}
}

88 changes: 88 additions & 0 deletions src/main/java/com/zipcodewilmington/centrallibrary/Book.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
package com.zipcodewilmington.centrallibrary;

public class Book extends LibraryItem implements Reservable {

private String author;
private String genre;
private int pages;
private String isbn;
private String publicationDate;
private boolean isReserved;
private LibraryMember reservedBy;

public Book(String id, String title, String location, String author, String isbn, int numberOfPages, String genre, String publicationDate) {
super(id, title, location);
this.author = author;
this.genre = genre;
this.pages = numberOfPages;
this.isbn = isbn;
this.publicationDate = publicationDate;
}

public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public String getIsbn() {
return isbn;
}
public void setIsbn(String isbn) {
this.isbn = isbn;
}

public String getGenre() {
return genre;
}
public void setGenre(String genre) {
this.genre = genre;
}

public int getPages() {
return pages;
}
public void setPages(int pages) {
this.pages = pages;

}
@Override
public double calculateLateFee(int daysLate) {
return daysLate * 0.50;
}

@Override
public int getMaxBorrowDays() {
return 14;
}
@Override
public String getItemType() {
return "Book";
}

@Override
public String[] getSearchableFields() {
return new String[]{getTitle(), author, genre, isbn, publicationDate};
}
@Override
public void reserve(LibraryMember member) {
if (isReserved) throw new IllegalStateException(getTitle() + " is already reserved.");
isReserved = true;
reservedBy = member;
}

@Override
public void cancelReserve(LibraryMember member) {
isReserved = false;
reservedBy = null;
}

@Override
public boolean isReserved() {
return isReserved;
}
public LibraryMember getReservedBy() {
return reservedBy;
}
}

58 changes: 58 additions & 0 deletions src/main/java/com/zipcodewilmington/centrallibrary/Borrowed.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
package com.zipcodewilmington.centrallibrary;

import java.time.LocalDate;
import java.time.temporal.ChronoUnit;

public class Borrowed {
private LibraryMember member;
private LibraryItem item;
private LocalDate borrowDate;
private LocalDate dueDate;

public Borrowed(LibraryMember member, LibraryItem item) {
this.member = member;
this.item = item;
this.borrowDate = LocalDate.now();
this.dueDate = borrowDate.plusDays(item.getMaxBorrowDays());
}

public LibraryMember getMember() {
return member;
}

public LibraryItem getItem() {
return item;
}

public LocalDate getBorrowDate() {
return borrowDate;
}

public LocalDate getDueDate() {
return dueDate;
}

public int getDaysLate() {
LocalDate today = LocalDate.now();
if (today.isAfter(dueDate)) {
return (int) ChronoUnit.DAYS.between(dueDate, today);
}
return 0;
}

public double calculateLateFee() {
return item.calculateLateFee(getDaysLate());
}

public boolean isOverdue() {
return getDaysLate() > 0;
}

@Override
public String toString() {
return member.getName() + " borrowed " + item.getTitle()
+ " | Due: " + dueDate
+ " | Days Late: " + getDaysLate()
+ " | Late Fee: $" + calculateLateFee();
}
}
80 changes: 80 additions & 0 deletions src/main/java/com/zipcodewilmington/centrallibrary/DVD.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
package com.zipcodewilmington.centrallibrary;

public class DVD extends LibraryItem implements Reservable {
private String director;
private String duration;
private String rating;
private String genre;
private boolean isReserved;
private LibraryMember reservedBy;


public DVD(String id, String title, String location, String director, String duration, String rating, String genre) {
super(id, title, location);
this.director = director;
this.duration = duration;
this.rating = rating;
this.genre = genre;
this.isReserved = false;
}


public String getDirector() {
return director;
}
public void setDirector(String director) {this.director = director;}

public String getDuration()
{return duration;}
public void setDuration(String duration) { this.duration = duration;}

public String getRating() {
return rating;
}
public void setRating(String rating) { this.rating = rating;}


public String getGenre() {
return genre;
}
public void setGenre(String genre) { this.genre = genre;}

public LibraryMember getReservedBy()
{ return reservedBy; }

@Override
public int getMaxBorrowDays() {
return 7;
}
@Override
public double calculateLateFee(int daysLate) {
return daysLate * 1.00;
}
@Override
public String getItemType() {
return "DVD";
}

@Override
public String[] getSearchableFields() {
return new String[]{getTitle(), director, genre};
}
@Override
public void reserve(LibraryMember member) {
if (isReserved) throw new IllegalStateException(getTitle() + " is already reserved.");
isReserved = true;
reservedBy = member;
}

@Override
public void cancelReserve(LibraryMember member) {
isReserved = false;
reservedBy = null;
}

@Override
public boolean isReserved() {
return isReserved;
}
}

Loading