Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[axmszr] iP #153

Open
wants to merge 88 commits into
base: master
Choose a base branch
from
Open

[axmszr] iP #153

wants to merge 88 commits into from

Conversation

axmszr
Copy link

@axmszr axmszr commented Jan 23, 2023

Cbot

Upgrade your to-do list, today.


System.out.println("Didn't I do it for you?") ~Siri

Is speaking too much of a hassle? Does your voice-recognition not recognize your voice? Really wish you could go back to the ol' typing days?
Well, here's the solution you need! Meet Cbot, your very own text-based chatbot secretary.

  _____  _            _           |
 /  ___]| |   ^-^   _| |_         |        for (Person p : everyone) {
|  / :D | |___  ___[_ + _]        |            cbot.hug(p);    // cbot says hi!
|  \___ | / . \/ . \ | |          |        }
 \_____]|_,_*_/\_*_/ |_/          |

With Cbot, you can:

  1. Keep track of your to-do list, including deadlines and events!
  • Filter, search, or sort your tasks, by:
    • date
    • name
    • type
    • completion status
    • and more!
  • Remain organized and consistent. 😄 🧑‍🎓 📔
  • Sleep in peace, knowing Cbot will take care of you :")
  • Ace your university modules

Cbot is easy to learn, and easy to use.

Try it now here1!

Footnotes

  1. Sorry, try this instead.

damithc and others added 30 commits July 31, 2022 17:20
Changed name to Cbot (should I change the .java file name too?)
ToDo class to maintain list
Duke modified
Task class, as suggested by website
Added some error catching and stuff for commands
No idea how it got here oops.
Made Command an enum, and the corresponding changes to Cbot
Already had some, just made the no-input case more explicit
Didn't use exceptions
Not much change! Just added one Command and one in the switch
Add Filter, Before, After and Sort commands
* branch-Level-7:
  Add Level 7 functionality

# Conflicts:
#	src/main/java/Cbot.java
#	src/main/java/Command.java
#	src/main/java/Deadline.java
#	src/main/java/Event.java
#	src/main/java/TaskList.java
Add done/undone options to Filter
Clean up import statements
Parser: slightly modify task symbol use
Modify slightly for Java 11 standards
Run JUnit tests with Gradle
Add some QoL stuff by allowing not-all-lower case
axmszr and others added 30 commits February 10, 2023 03:35
Add C-MassOps allowance for MARK, UNMARK and DELETE/REMOVE
Streamline text extraction a bit.
With the recent change to text parsing, it is
more likely for assertions to be violated. This is
especially true for the runCommand functions, where
we want to ensure only the correct Commands are
accessing them.

Let's clarify the assert messages of the runCommand
functions.

If we remove ambiguity from which is which, it will
be easier to debug.
The Command class code is ridiculously long, and a
little messy. It is difficult to find the start of
the static runCommand functions, for example.

Splitting up these sections into their own classes
will neaten things up and improve readability.

Let's,
* extract ThrowingBiFunction from Command into its
own .java file
* extract the static runCommand methods into a
separate class CommandFunction
* re-package all these Command-related classes (as
well as the InputExceptions) into cbot.command

This refactoring will make the code more navigable
and make it easier to add more features in the
future.
Task: fix grammar in editDisc JavaDoc;
TaskList: remove dead code;
CommandFunction: assert correct Command type;
Slightly modify how inputs processed to enable the above.
Allow the user to see the farewell message
docs/README: change Usage heading to Commands
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants