Skip to content

yadobler/ip

 
 

Repository files navigation

YappingBot

"Software is like s-x: it's better when it's free." - Linus Torvalds (Source, yes he actually said that.)

YappingBot FREES your mind of having to remember things you need to do.

  • Text-based
  • Questionable learning curve
  • SUPER FAST to crash use (I'm kidding, it's Java. You only get that* in C) (* - in both speed and stability aspects)

All you need to do is:

  1. Download it from here (DID YOU CHECK THE SITE LINK?).
  2. Double click it (honestly doesn't work for me. You're better off running java -jar yappingbot.java).
  3. ???
  4. Add your tasks!

Supported flags include:

--savefile <FILEPATH> define an alternate savefile path
        -s <FILEPATH> same as --savefile
        -c            Run CLI mode (fallback)

Did I mention it's FREE? (Free of Charge, Free of Dom)

Features implemented:

  • View all added tasks
  • Manages to-do tasks
  • Manages deadline tasks
  • Manages event tasks
  • Task list persistence (automatic save to and retrieve from disk)
  • Does your taxes
  • Search and filter tasks (iteratively too!)
  • GUI
  • CLI mode fallback (pass -c)
  • Change savefile path (pass -s <filepath>)
  • Add custom aliases
  • Add CSS to make things pretty
  • Add more personality
  • Persistant settings (ie for aliases)
  • Autosave
  • Flexible date formatting
  • More coming soon...

If you're bored and want to stress yourself, look no further!

Clone this, and feel free to run it like this:

CLI Mode:

public static void main(String[] args) {
    // Feel free to change this!
    // The original main method checks if an argument is passed and uses it instead.
    String savefile = "./savefile"; 

    YappingBot yp = new YappingBot(savefile);
    yp.start();
}

GUI Mode: (requires javafx)

public static void main(String[] args) {
    // MainGuiApplication currently looks in 
    // Launcher to retrieve the savefilePath
    //
    // To be updated in further commits
    Launcher.savefilePath = "./savefile";
    MainGuiApplication.launch(MainGuiApplication.class, args);
}