Skip to content

koolskateguy89/Anime-Filler-Manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Anime Filler Manager

Codacy Badge Maintainability Language grade: Java

Table of Contents

Introduction

Anime Filler Manager is a JVM application to search for anime from MyAnimeList and find out which episodes of that anime are filler (unnecessary to watch as they do not contribute to the main plot), according to the amazing community-led Anime Filler List.

Should have called this MyFillerList

Tbh this has a lot of problems, mostly due to it being coursework and thus having to implement cOmPLeX feAtUrEs.

Built With

How does it work?

This application mainly uses web scraping to enable you to find the anime of your dreams and to find out which episodes are not worth watching. It also employs database management to locally store the anime you're currently watching/want to watch.

Getting Started

Dependencies

Installing

Clone this repository:

git clone https://github.com/koolskateguy89/Anime-Filler-Manager

Running with Maven

Run this command on the project root:

mvn clean package && java -jar app/target/AFM.jar

(mvn -pl app exec:java breaks the program for some reason)

Building into an executable JAR

Run this command on the project root:

mvn clean package

There will be an executable JAR file (a fat JAR with all dependencies): app/target/AFM.jar

You can run this using:

java -jar app/target/AFM.jar

Some things to know when running

  1. To search for an anime, you HAVE to select a genre
  2. The anime database has to have the tables MyList & ToWatch, in a specific format (just use the Create new button on the Settings screen)
    • There is a blank database in this format in the res folder
    • Tbh if you're actually going to use this program, I strongly recommend using an external database, so you can update without losing your data
  3. ...

License

Distributed under the MIT License. See [LICENSE].txt for more information.

TODO

  • Add option to skip loading screen
  • Redesign menu panel (make it a VBox with icons on buttons - make buttons 'seamless')
  • Add always-on-top option
    • Add opacity option
    • Add opacity option for when not focused
  • Make subwindows open on top of current window (middle) - infoWindows
  • Make settings screen button highlight when open
  • Add option to use external database for MyList and ToWatch
    • Add option to make new blank database
  • Add color themes option (use different stylesheets which the user picks from)
    • [~] Light theme - icons are then messed up because they're white :/ but mostly done
    • Idk maybe Dracula/Monokai/etc
  • Use ControlsFX a lot more
  • Add hyperlink to the next watch episode
  • [~] Use a logger (slf4j simple)
  • Split into core and app modules, core will basically just be anime & database packages
  • [~] Filler tests
  • Switch to a lighter embedded db? (sqlite driver is 9.3MB!). Maybe h2?
  • Switch to use Jikan API if this is actually gonna be used because web-scraping is so long, plus the minimum 13 results thing is a bit 🥴 - quite long
  • Enable use of ControlsFX.TableFilter in MyList & ToWatch
  • Add a global keybind to minimize/maximize - no idea
  • [~] Have no window resizing
    • [~] Resize screens to all be same size (SceneBuilder) - long
  • Add episodes column to all tablescreens? - almost-long