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.
- Java
- Kotlin
- Maven
- Gluon SceneBuilder
- SQLite
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.
- Kotlin stdlib
- slf4j-simple
- kxtra-slf4j (compile-time only)
- JavaFX
- Project Lombok
- ControlsFX
- jsoup
- SQLite JDBC Driver
- Exposed
Clone this repository:
git clone https://github.com/koolskateguy89/Anime-Filler-Manager
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)
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
- To search for an anime, you HAVE to select a genre
- 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
- ...
Distributed under the MIT License. See [LICENSE].txt for more information.
- 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
andapp
modules,core
will basically just beanime
&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
- Just write REST API wrapper myself? not all of its features are needed, literally only searching for anime
- NO. Ok maybe. Can use
- I think I can use Jsoup for this, using
Connection.data(String...)
to set - Or Ktor https://ktor.io/docs/request.html#parameters
- Use it for filler? https://github.com/MALSync/MALSync/pull/689/commits/4c667e418a4340241f29211b66d8425885bc87e8#diff-7f379e3d9a0edcfa6f3d11771fbf08a97c786103ca087f384bc9acec82f1c0a0R1144
- Just write REST API wrapper myself? not all of its features are needed, literally only searching for anime
- 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