Felix Fong
June 13 2021
ICS-4U1
Nicholas Fernandes
- Access to the MyAnimeList data base with the Jikan API
- Home page anime filter by year, season, and genre
- Dragging and dropping anime images
- Adding and editing anime in the Ani-List
- Generating anime to recommend for the Recommend Page
- Interactive recommendation algorithm that moves anime based on the user's interests for the genre
- Remembers the user's genre interests until the application is exited
- Does not recommend already recommended anime
- Saving and loading ani-list
- A loading screen
- RapidApi to set up the API
- Unirest to interact with the API
- JFreeChart to display statistics
- Project management tool Maven
- Java swing
- Object oriented programming
- Polymorphism
- File reading and writing
- Serialization to save and load ani-list
- Swing-worker for multi-threading loading
- Due to time constraints, some features were omitted:
- A filter bar in the Ani-List page
- AnimePanel scoring stat bar highlighting and captioning
- Accounts
- Jikan API can be defective sometimes.
- Dragging an anime's image from its position on the anime panel and dropping it over the transparent background causes a weird display bug. This is a Java Swing bug; cannot do anything
- Loading the AnimePanel, filtering anime, switching modes in the RecommendationPage, sorting the ani-list, and scrolling through an anime scroll panel take a long time. A loading screen was considered, but could not be implemented due to time constraints.
- When there are not enough anime available to display in an anime scroll panel, the only anime available will be copy and pasted over to the next few displayed. This is not a bug it is a feature. (Maybe have a blank slate in the place of the anime image to indicate that no anime could be found.)
- Some anime do not have their licensors, producers, or genres available. Recommendation algorithm would not work with these anime since it relies on an anime's genre.
- When the anime panel gets displayed, the scroll pane on the page scrolls all the way back up. A fix could be to store the original scroll coordinates and set the pane back to it. Due to time constraints, this was not done.
- The project must have the following libraries:
- jfreechart-1.5.1
- unirest-java:1.4.9 (scroll down a bit if not already added.)
- gson-2.8.5