diff --git a/.gitignore b/.gitignore index 284c4ca7cd9..fb27c423e76 100644 --- a/.gitignore +++ b/.gitignore @@ -15,9 +15,6 @@ src/main/resources/docs/ /*.log.* hs_err_pid[0-9]*.log -# Test sandbox files -src/test/data/sandbox/ - # MacOS custom attributes files created by Finder .DS_Store docs/_site/ diff --git a/README.md b/README.md index 13f5c77403f..ce202e52372 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,16 @@ -[![CI Status](https://github.com/se-edu/addressbook-level3/workflows/Java%20CI/badge.svg)](https://github.com/se-edu/addressbook-level3/actions) +[![CI Status](https://github.com/AY2324S1-CS2103T-T11-4/tp/workflows/Java%20CI/badge.svg)](https://github.com/AY2324S1-CS2103T-T11-4/tp/actions) -![Ui](docs/images/Ui.png) +![Ui](docs/images/MainUi.png) -* This is **a sample project for Software Engineering (SE) students**.
- Example usages: - * as a starting point of a course project (as opposed to writing everything from scratch) - * as a case study -* The project simulates an ongoing software project for a desktop application (called _AddressBook_) used for managing contact details. +* This is **a vocabulary memorizing project for all language learners**.
+* This project is designed to assist language learners in memorizing words efficiently using a scientific approach based on the **Ebbinghaus Forgetting Curve**. + * The app provides a command-line interface (CLI) for users to interact with. + * It schedules word revision sessions at specific times to maximize word retention. +* The project is based on a software project for a desktop application (called _AddressBook_) used for managing contact details. * It is **written in OOP fashion**. It provides a **reasonably well-written** code base **bigger** (around 6 KLoC) than what students usually write in beginner-level SE modules, without being overwhelmingly big. * It comes with a **reasonable level of user and developer documentation**. -* It is named `AddressBook Level 3` (`AB3` for short) because it was initially created as a part of a series of `AddressBook` projects (`Level 1`, `Level 2`, `Level 3` ...). -* For the detailed documentation of this project, see the **[Address Book Product Website](https://se-education.org/addressbook-level3)**. -* This project is a **part of the se-education.org** initiative. If you would like to contribute code to this project, see [se-education.org](https://se-education.org#https://se-education.org/#contributing) for more info. +* It is named `Flashlingo` because it was initially inspired by **flash cards** and **duolingo**. +* For the detailed documentation of this project, see the **[Flashlingo Product Website](https://ay2324s1-cs2103t-t11-4.github.io/tp/)**. + +## Acknowledgments +This project is based on the AddressBook-Level3 project created by the [SE-EDU initiative](https://se-education.org). diff --git a/src/main/resources/images/address_book_32.png b/bin/main/images/address_book_32.png similarity index 100% rename from src/main/resources/images/address_book_32.png rename to bin/main/images/address_book_32.png diff --git a/src/main/resources/images/calendar.png b/bin/main/images/calendar.png similarity index 100% rename from src/main/resources/images/calendar.png rename to bin/main/images/calendar.png diff --git a/src/main/resources/images/clock.png b/bin/main/images/clock.png similarity index 100% rename from src/main/resources/images/clock.png rename to bin/main/images/clock.png diff --git a/src/main/resources/images/fail.png b/bin/main/images/fail.png similarity index 100% rename from src/main/resources/images/fail.png rename to bin/main/images/fail.png diff --git a/bin/main/images/flash_lingo.png b/bin/main/images/flash_lingo.png new file mode 100644 index 00000000000..aa2ff6ccabd Binary files /dev/null and b/bin/main/images/flash_lingo.png differ diff --git a/bin/main/images/help_icon.png b/bin/main/images/help_icon.png new file mode 100644 index 00000000000..f8e80d6c1c5 Binary files /dev/null and b/bin/main/images/help_icon.png differ diff --git a/src/main/resources/images/info_icon.png b/bin/main/images/info_icon.png similarity index 100% rename from src/main/resources/images/info_icon.png rename to bin/main/images/info_icon.png diff --git a/bin/main/seedu/flashlingo/AppParameters.class b/bin/main/seedu/flashlingo/AppParameters.class new file mode 100644 index 00000000000..ce67cf6ba2c Binary files /dev/null and b/bin/main/seedu/flashlingo/AppParameters.class differ diff --git a/bin/main/seedu/flashlingo/Main.class b/bin/main/seedu/flashlingo/Main.class new file mode 100644 index 00000000000..cd18e3eaa2e Binary files /dev/null and b/bin/main/seedu/flashlingo/Main.class differ diff --git a/bin/main/seedu/flashlingo/MainApp.class b/bin/main/seedu/flashlingo/MainApp.class new file mode 100644 index 00000000000..f39ad39c3cc Binary files /dev/null and b/bin/main/seedu/flashlingo/MainApp.class differ diff --git a/bin/main/seedu/flashlingo/commons/core/Config.class b/bin/main/seedu/flashlingo/commons/core/Config.class new file mode 100644 index 00000000000..0947f1b26d1 Binary files /dev/null and b/bin/main/seedu/flashlingo/commons/core/Config.class differ diff --git a/bin/main/seedu/flashlingo/commons/core/GuiSettings.class b/bin/main/seedu/flashlingo/commons/core/GuiSettings.class new file mode 100644 index 00000000000..d5053147387 Binary files /dev/null and b/bin/main/seedu/flashlingo/commons/core/GuiSettings.class differ diff --git a/bin/main/seedu/flashlingo/commons/core/LogsCenter.class b/bin/main/seedu/flashlingo/commons/core/LogsCenter.class new file mode 100644 index 00000000000..3a4e8745552 Binary files /dev/null and b/bin/main/seedu/flashlingo/commons/core/LogsCenter.class differ diff --git a/bin/main/seedu/flashlingo/commons/core/Version.class b/bin/main/seedu/flashlingo/commons/core/Version.class new file mode 100644 index 00000000000..6ff7f68361c Binary files /dev/null and b/bin/main/seedu/flashlingo/commons/core/Version.class differ diff --git a/bin/main/seedu/flashlingo/commons/core/index/Index.class b/bin/main/seedu/flashlingo/commons/core/index/Index.class new file mode 100644 index 00000000000..10c05f9586b Binary files /dev/null and b/bin/main/seedu/flashlingo/commons/core/index/Index.class differ diff --git a/bin/main/seedu/flashlingo/commons/exceptions/DataLoadingException.class b/bin/main/seedu/flashlingo/commons/exceptions/DataLoadingException.class new file mode 100644 index 00000000000..3d1c3b615f7 Binary files /dev/null and b/bin/main/seedu/flashlingo/commons/exceptions/DataLoadingException.class differ diff --git a/bin/main/seedu/flashlingo/commons/exceptions/IllegalValueException.class b/bin/main/seedu/flashlingo/commons/exceptions/IllegalValueException.class new file mode 100644 index 00000000000..bcfffc0e258 Binary files /dev/null and b/bin/main/seedu/flashlingo/commons/exceptions/IllegalValueException.class differ diff --git a/bin/main/seedu/flashlingo/commons/util/AppUtil.class b/bin/main/seedu/flashlingo/commons/util/AppUtil.class new file mode 100644 index 00000000000..686e53ceb46 Binary files /dev/null and b/bin/main/seedu/flashlingo/commons/util/AppUtil.class differ diff --git a/bin/main/seedu/flashlingo/commons/util/CollectionUtil.class b/bin/main/seedu/flashlingo/commons/util/CollectionUtil.class new file mode 100644 index 00000000000..52d22935cb3 Binary files /dev/null and b/bin/main/seedu/flashlingo/commons/util/CollectionUtil.class differ diff --git a/bin/main/seedu/flashlingo/commons/util/ConfigUtil.class b/bin/main/seedu/flashlingo/commons/util/ConfigUtil.class new file mode 100644 index 00000000000..33ce37d9935 Binary files /dev/null and b/bin/main/seedu/flashlingo/commons/util/ConfigUtil.class differ diff --git a/bin/main/seedu/flashlingo/commons/util/FileUtil.class b/bin/main/seedu/flashlingo/commons/util/FileUtil.class new file mode 100644 index 00000000000..280d2e05453 Binary files /dev/null and b/bin/main/seedu/flashlingo/commons/util/FileUtil.class differ diff --git a/bin/main/seedu/flashlingo/commons/util/JsonUtil$LevelDeserializer.class b/bin/main/seedu/flashlingo/commons/util/JsonUtil$LevelDeserializer.class new file mode 100644 index 00000000000..013b1312720 Binary files /dev/null and b/bin/main/seedu/flashlingo/commons/util/JsonUtil$LevelDeserializer.class differ diff --git a/bin/main/seedu/flashlingo/commons/util/JsonUtil.class b/bin/main/seedu/flashlingo/commons/util/JsonUtil.class new file mode 100644 index 00000000000..fe824719b76 Binary files /dev/null and b/bin/main/seedu/flashlingo/commons/util/JsonUtil.class differ diff --git a/bin/main/seedu/flashlingo/commons/util/StringUtil.class b/bin/main/seedu/flashlingo/commons/util/StringUtil.class new file mode 100644 index 00000000000..f647752bc5c Binary files /dev/null and b/bin/main/seedu/flashlingo/commons/util/StringUtil.class differ diff --git a/bin/main/seedu/flashlingo/commons/util/ToStringBuilder.class b/bin/main/seedu/flashlingo/commons/util/ToStringBuilder.class new file mode 100644 index 00000000000..43aa947e6ba Binary files /dev/null and b/bin/main/seedu/flashlingo/commons/util/ToStringBuilder.class differ diff --git a/bin/main/seedu/flashlingo/logic/Logic.class b/bin/main/seedu/flashlingo/logic/Logic.class new file mode 100644 index 00000000000..443b5c33866 Binary files /dev/null and b/bin/main/seedu/flashlingo/logic/Logic.class differ diff --git a/bin/main/seedu/flashlingo/logic/LogicManager.class b/bin/main/seedu/flashlingo/logic/LogicManager.class new file mode 100644 index 00000000000..c0b1612f582 Binary files /dev/null and b/bin/main/seedu/flashlingo/logic/LogicManager.class differ diff --git a/bin/main/seedu/flashlingo/logic/Messages.class b/bin/main/seedu/flashlingo/logic/Messages.class new file mode 100644 index 00000000000..19119b6706c Binary files /dev/null and b/bin/main/seedu/flashlingo/logic/Messages.class differ diff --git a/bin/main/seedu/flashlingo/logic/commands/AddCommand.class b/bin/main/seedu/flashlingo/logic/commands/AddCommand.class new file mode 100644 index 00000000000..f5c1522bbf0 Binary files /dev/null and b/bin/main/seedu/flashlingo/logic/commands/AddCommand.class differ diff --git a/bin/main/seedu/flashlingo/logic/commands/Command.class b/bin/main/seedu/flashlingo/logic/commands/Command.class new file mode 100644 index 00000000000..71b4f644e47 Binary files /dev/null and b/bin/main/seedu/flashlingo/logic/commands/Command.class differ diff --git a/bin/main/seedu/flashlingo/logic/commands/CommandResult.class b/bin/main/seedu/flashlingo/logic/commands/CommandResult.class new file mode 100644 index 00000000000..73c37b21785 Binary files /dev/null and b/bin/main/seedu/flashlingo/logic/commands/CommandResult.class differ diff --git a/bin/main/seedu/flashlingo/logic/commands/EditCommand.class b/bin/main/seedu/flashlingo/logic/commands/EditCommand.class new file mode 100644 index 00000000000..bf4ae9d287d Binary files /dev/null and b/bin/main/seedu/flashlingo/logic/commands/EditCommand.class differ diff --git a/bin/main/seedu/flashlingo/logic/commands/ExitCommand.class b/bin/main/seedu/flashlingo/logic/commands/ExitCommand.class new file mode 100644 index 00000000000..75f4b430d77 Binary files /dev/null and b/bin/main/seedu/flashlingo/logic/commands/ExitCommand.class differ diff --git a/bin/main/seedu/flashlingo/logic/commands/FindCommand.class b/bin/main/seedu/flashlingo/logic/commands/FindCommand.class new file mode 100644 index 00000000000..438e535e1c9 Binary files /dev/null and b/bin/main/seedu/flashlingo/logic/commands/FindCommand.class differ diff --git a/bin/main/seedu/flashlingo/logic/commands/HelpCommand.class b/bin/main/seedu/flashlingo/logic/commands/HelpCommand.class new file mode 100644 index 00000000000..939b7b81da2 Binary files /dev/null and b/bin/main/seedu/flashlingo/logic/commands/HelpCommand.class differ diff --git a/bin/main/seedu/flashlingo/logic/commands/LanguageCommand.class b/bin/main/seedu/flashlingo/logic/commands/LanguageCommand.class new file mode 100644 index 00000000000..3fbe4ec5174 Binary files /dev/null and b/bin/main/seedu/flashlingo/logic/commands/LanguageCommand.class differ diff --git a/bin/main/seedu/flashlingo/logic/commands/ListCommand.class b/bin/main/seedu/flashlingo/logic/commands/ListCommand.class new file mode 100644 index 00000000000..5d9c2ad78bf Binary files /dev/null and b/bin/main/seedu/flashlingo/logic/commands/ListCommand.class differ diff --git a/bin/main/seedu/flashlingo/logic/commands/LoadCommand.class b/bin/main/seedu/flashlingo/logic/commands/LoadCommand.class new file mode 100644 index 00000000000..1084946ed0b Binary files /dev/null and b/bin/main/seedu/flashlingo/logic/commands/LoadCommand.class differ diff --git a/bin/main/seedu/flashlingo/logic/commands/NoCommand.class b/bin/main/seedu/flashlingo/logic/commands/NoCommand.class new file mode 100644 index 00000000000..271908813db Binary files /dev/null and b/bin/main/seedu/flashlingo/logic/commands/NoCommand.class differ diff --git a/bin/main/seedu/flashlingo/logic/commands/RevealCommand.class b/bin/main/seedu/flashlingo/logic/commands/RevealCommand.class new file mode 100644 index 00000000000..838ecc98df0 Binary files /dev/null and b/bin/main/seedu/flashlingo/logic/commands/RevealCommand.class differ diff --git a/bin/main/seedu/flashlingo/logic/commands/ReviewCommand.class b/bin/main/seedu/flashlingo/logic/commands/ReviewCommand.class new file mode 100644 index 00000000000..739998d205d Binary files /dev/null and b/bin/main/seedu/flashlingo/logic/commands/ReviewCommand.class differ diff --git a/bin/main/seedu/flashlingo/logic/commands/StartCommand.class b/bin/main/seedu/flashlingo/logic/commands/StartCommand.class new file mode 100644 index 00000000000..b9d4112a10d Binary files /dev/null and b/bin/main/seedu/flashlingo/logic/commands/StartCommand.class differ diff --git a/bin/main/seedu/flashlingo/logic/commands/StatsCommand.class b/bin/main/seedu/flashlingo/logic/commands/StatsCommand.class new file mode 100644 index 00000000000..083d4015545 Binary files /dev/null and b/bin/main/seedu/flashlingo/logic/commands/StatsCommand.class differ diff --git a/bin/main/seedu/flashlingo/logic/commands/SwitchCommand.class b/bin/main/seedu/flashlingo/logic/commands/SwitchCommand.class new file mode 100644 index 00000000000..8a9b2f96f5a Binary files /dev/null and b/bin/main/seedu/flashlingo/logic/commands/SwitchCommand.class differ diff --git a/bin/main/seedu/flashlingo/logic/commands/YesCommand.class b/bin/main/seedu/flashlingo/logic/commands/YesCommand.class new file mode 100644 index 00000000000..4a664d439f7 Binary files /dev/null and b/bin/main/seedu/flashlingo/logic/commands/YesCommand.class differ diff --git a/bin/main/seedu/flashlingo/logic/commands/exceptions/CommandException.class b/bin/main/seedu/flashlingo/logic/commands/exceptions/CommandException.class new file mode 100644 index 00000000000..637ed79500e Binary files /dev/null and b/bin/main/seedu/flashlingo/logic/commands/exceptions/CommandException.class differ diff --git a/bin/main/seedu/flashlingo/logic/parser/AddCommandParser.class b/bin/main/seedu/flashlingo/logic/parser/AddCommandParser.class new file mode 100644 index 00000000000..7b73e81afe7 Binary files /dev/null and b/bin/main/seedu/flashlingo/logic/parser/AddCommandParser.class differ diff --git a/bin/main/seedu/flashlingo/logic/parser/ArgumentMultimap.class b/bin/main/seedu/flashlingo/logic/parser/ArgumentMultimap.class new file mode 100644 index 00000000000..340ea85a9f5 Binary files /dev/null and b/bin/main/seedu/flashlingo/logic/parser/ArgumentMultimap.class differ diff --git a/bin/main/seedu/flashlingo/logic/parser/ArgumentTokenizer$PrefixPosition.class b/bin/main/seedu/flashlingo/logic/parser/ArgumentTokenizer$PrefixPosition.class new file mode 100644 index 00000000000..a8cadccc732 Binary files /dev/null and b/bin/main/seedu/flashlingo/logic/parser/ArgumentTokenizer$PrefixPosition.class differ diff --git a/bin/main/seedu/flashlingo/logic/parser/ArgumentTokenizer.class b/bin/main/seedu/flashlingo/logic/parser/ArgumentTokenizer.class new file mode 100644 index 00000000000..5469700e70a Binary files /dev/null and b/bin/main/seedu/flashlingo/logic/parser/ArgumentTokenizer.class differ diff --git a/bin/main/seedu/flashlingo/logic/parser/CliSyntax.class b/bin/main/seedu/flashlingo/logic/parser/CliSyntax.class new file mode 100644 index 00000000000..3a3657e4fbe Binary files /dev/null and b/bin/main/seedu/flashlingo/logic/parser/CliSyntax.class differ diff --git a/bin/main/seedu/flashlingo/logic/parser/DeleteCommandParser.class b/bin/main/seedu/flashlingo/logic/parser/DeleteCommandParser.class new file mode 100644 index 00000000000..b09d69ea8d5 Binary files /dev/null and b/bin/main/seedu/flashlingo/logic/parser/DeleteCommandParser.class differ diff --git a/bin/main/seedu/flashlingo/logic/parser/FindCommandParser.class b/bin/main/seedu/flashlingo/logic/parser/FindCommandParser.class new file mode 100644 index 00000000000..3d59cfd7679 Binary files /dev/null and b/bin/main/seedu/flashlingo/logic/parser/FindCommandParser.class differ diff --git a/bin/main/seedu/flashlingo/logic/parser/FlashlingoParser.class b/bin/main/seedu/flashlingo/logic/parser/FlashlingoParser.class new file mode 100644 index 00000000000..c2c4a8b42f9 Binary files /dev/null and b/bin/main/seedu/flashlingo/logic/parser/FlashlingoParser.class differ diff --git a/bin/main/seedu/flashlingo/logic/parser/LanguageCommandParser.class b/bin/main/seedu/flashlingo/logic/parser/LanguageCommandParser.class new file mode 100644 index 00000000000..40afe02d2bf Binary files /dev/null and b/bin/main/seedu/flashlingo/logic/parser/LanguageCommandParser.class differ diff --git a/bin/main/seedu/flashlingo/logic/parser/LoadCommandParser.class b/bin/main/seedu/flashlingo/logic/parser/LoadCommandParser.class new file mode 100644 index 00000000000..0eda9670cf8 Binary files /dev/null and b/bin/main/seedu/flashlingo/logic/parser/LoadCommandParser.class differ diff --git a/bin/main/seedu/flashlingo/logic/parser/Parser.class b/bin/main/seedu/flashlingo/logic/parser/Parser.class new file mode 100644 index 00000000000..8d9fb9c0134 Binary files /dev/null and b/bin/main/seedu/flashlingo/logic/parser/Parser.class differ diff --git a/bin/main/seedu/flashlingo/logic/parser/ParserUtil.class b/bin/main/seedu/flashlingo/logic/parser/ParserUtil.class new file mode 100644 index 00000000000..42d1223924a Binary files /dev/null and b/bin/main/seedu/flashlingo/logic/parser/ParserUtil.class differ diff --git a/bin/main/seedu/flashlingo/logic/parser/Prefix.class b/bin/main/seedu/flashlingo/logic/parser/Prefix.class new file mode 100644 index 00000000000..82590143996 Binary files /dev/null and b/bin/main/seedu/flashlingo/logic/parser/Prefix.class differ diff --git a/bin/main/seedu/flashlingo/logic/parser/exceptions/ParseException.class b/bin/main/seedu/flashlingo/logic/parser/exceptions/ParseException.class new file mode 100644 index 00000000000..c459f3e49ee Binary files /dev/null and b/bin/main/seedu/flashlingo/logic/parser/exceptions/ParseException.class differ diff --git a/bin/main/seedu/flashlingo/model/Flashlingo.class b/bin/main/seedu/flashlingo/model/Flashlingo.class new file mode 100644 index 00000000000..c7d6b7a1ab4 Binary files /dev/null and b/bin/main/seedu/flashlingo/model/Flashlingo.class differ diff --git a/bin/main/seedu/flashlingo/model/Model.class b/bin/main/seedu/flashlingo/model/Model.class new file mode 100644 index 00000000000..6367f66c68b Binary files /dev/null and b/bin/main/seedu/flashlingo/model/Model.class differ diff --git a/bin/main/seedu/flashlingo/model/ModelManager.class b/bin/main/seedu/flashlingo/model/ModelManager.class new file mode 100644 index 00000000000..fd78a48e74a Binary files /dev/null and b/bin/main/seedu/flashlingo/model/ModelManager.class differ diff --git a/bin/main/seedu/flashlingo/model/ReadOnlyFlashlingo.class b/bin/main/seedu/flashlingo/model/ReadOnlyFlashlingo.class new file mode 100644 index 00000000000..c04dc061ae1 Binary files /dev/null and b/bin/main/seedu/flashlingo/model/ReadOnlyFlashlingo.class differ diff --git a/bin/main/seedu/flashlingo/model/ReadOnlyUserPrefs.class b/bin/main/seedu/flashlingo/model/ReadOnlyUserPrefs.class new file mode 100644 index 00000000000..4f0f71c9bc8 Binary files /dev/null and b/bin/main/seedu/flashlingo/model/ReadOnlyUserPrefs.class differ diff --git a/bin/main/seedu/flashlingo/model/UserPrefs.class b/bin/main/seedu/flashlingo/model/UserPrefs.class new file mode 100644 index 00000000000..190be43f416 Binary files /dev/null and b/bin/main/seedu/flashlingo/model/UserPrefs.class differ diff --git a/bin/main/seedu/flashlingo/model/flashcard/FlashCard.class b/bin/main/seedu/flashlingo/model/flashcard/FlashCard.class new file mode 100644 index 00000000000..2373facb4ee Binary files /dev/null and b/bin/main/seedu/flashlingo/model/flashcard/FlashCard.class differ diff --git a/bin/main/seedu/flashlingo/model/flashcard/NextReviewWordPredicate.class b/bin/main/seedu/flashlingo/model/flashcard/NextReviewWordPredicate.class new file mode 100644 index 00000000000..b74de9f52d6 Binary files /dev/null and b/bin/main/seedu/flashlingo/model/flashcard/NextReviewWordPredicate.class differ diff --git a/bin/main/seedu/flashlingo/model/flashcard/ProficiencyLevel.class b/bin/main/seedu/flashlingo/model/flashcard/ProficiencyLevel.class new file mode 100644 index 00000000000..2854a864032 Binary files /dev/null and b/bin/main/seedu/flashlingo/model/flashcard/ProficiencyLevel.class differ diff --git a/bin/main/seedu/flashlingo/model/flashcard/UniqueFlashCardList.class b/bin/main/seedu/flashlingo/model/flashcard/UniqueFlashCardList.class new file mode 100644 index 00000000000..a62da766252 Binary files /dev/null and b/bin/main/seedu/flashlingo/model/flashcard/UniqueFlashCardList.class differ diff --git a/bin/main/seedu/flashlingo/model/flashcard/WordContainsKeywordsPredicate.class b/bin/main/seedu/flashlingo/model/flashcard/WordContainsKeywordsPredicate.class new file mode 100644 index 00000000000..222f15b938f Binary files /dev/null and b/bin/main/seedu/flashlingo/model/flashcard/WordContainsKeywordsPredicate.class differ diff --git a/bin/main/seedu/flashlingo/model/flashcard/WordLanguagePredicate.class b/bin/main/seedu/flashlingo/model/flashcard/WordLanguagePredicate.class new file mode 100644 index 00000000000..901aa796b9e Binary files /dev/null and b/bin/main/seedu/flashlingo/model/flashcard/WordLanguagePredicate.class differ diff --git a/bin/main/seedu/flashlingo/model/flashcard/WordOverduePredicate.class b/bin/main/seedu/flashlingo/model/flashcard/WordOverduePredicate.class new file mode 100644 index 00000000000..b74bff812e4 Binary files /dev/null and b/bin/main/seedu/flashlingo/model/flashcard/WordOverduePredicate.class differ diff --git a/bin/main/seedu/flashlingo/model/flashcard/exceptions/DuplicateFlashCardException.class b/bin/main/seedu/flashlingo/model/flashcard/exceptions/DuplicateFlashCardException.class new file mode 100644 index 00000000000..f5cb2bb21f1 Binary files /dev/null and b/bin/main/seedu/flashlingo/model/flashcard/exceptions/DuplicateFlashCardException.class differ diff --git a/bin/main/seedu/flashlingo/model/flashcard/exceptions/FlashCardNotFoundException.class b/bin/main/seedu/flashlingo/model/flashcard/exceptions/FlashCardNotFoundException.class new file mode 100644 index 00000000000..1519371d17e Binary files /dev/null and b/bin/main/seedu/flashlingo/model/flashcard/exceptions/FlashCardNotFoundException.class differ diff --git a/bin/main/seedu/flashlingo/model/flashcard/words/OriginalWord.class b/bin/main/seedu/flashlingo/model/flashcard/words/OriginalWord.class new file mode 100644 index 00000000000..e13db404e69 Binary files /dev/null and b/bin/main/seedu/flashlingo/model/flashcard/words/OriginalWord.class differ diff --git a/bin/main/seedu/flashlingo/model/flashcard/words/TranslatedWord.class b/bin/main/seedu/flashlingo/model/flashcard/words/TranslatedWord.class new file mode 100644 index 00000000000..df6690a1e2c Binary files /dev/null and b/bin/main/seedu/flashlingo/model/flashcard/words/TranslatedWord.class differ diff --git a/bin/main/seedu/flashlingo/model/flashcard/words/Word.class b/bin/main/seedu/flashlingo/model/flashcard/words/Word.class new file mode 100644 index 00000000000..d4f2d3d0b76 Binary files /dev/null and b/bin/main/seedu/flashlingo/model/flashcard/words/Word.class differ diff --git a/bin/main/seedu/flashlingo/model/util/SampleDataUtil.class b/bin/main/seedu/flashlingo/model/util/SampleDataUtil.class new file mode 100644 index 00000000000..3d92eb98547 Binary files /dev/null and b/bin/main/seedu/flashlingo/model/util/SampleDataUtil.class differ diff --git a/bin/main/seedu/flashlingo/session/SessionManager.class b/bin/main/seedu/flashlingo/session/SessionManager.class new file mode 100644 index 00000000000..dc450d6acfe Binary files /dev/null and b/bin/main/seedu/flashlingo/session/SessionManager.class differ diff --git a/bin/main/seedu/flashlingo/storage/FlashlingoStorage.class b/bin/main/seedu/flashlingo/storage/FlashlingoStorage.class new file mode 100644 index 00000000000..466ab456da4 Binary files /dev/null and b/bin/main/seedu/flashlingo/storage/FlashlingoStorage.class differ diff --git a/bin/main/seedu/flashlingo/storage/JsonAdaptedFlashCard.class b/bin/main/seedu/flashlingo/storage/JsonAdaptedFlashCard.class new file mode 100644 index 00000000000..aaf4b36510a Binary files /dev/null and b/bin/main/seedu/flashlingo/storage/JsonAdaptedFlashCard.class differ diff --git a/bin/main/seedu/flashlingo/storage/JsonFlashlingoStorage.class b/bin/main/seedu/flashlingo/storage/JsonFlashlingoStorage.class new file mode 100644 index 00000000000..7b1076e70ad Binary files /dev/null and b/bin/main/seedu/flashlingo/storage/JsonFlashlingoStorage.class differ diff --git a/bin/main/seedu/flashlingo/storage/JsonSerializableFlashlingo.class b/bin/main/seedu/flashlingo/storage/JsonSerializableFlashlingo.class new file mode 100644 index 00000000000..5d899115a7b Binary files /dev/null and b/bin/main/seedu/flashlingo/storage/JsonSerializableFlashlingo.class differ diff --git a/bin/main/seedu/flashlingo/storage/JsonUserPrefsStorage.class b/bin/main/seedu/flashlingo/storage/JsonUserPrefsStorage.class new file mode 100644 index 00000000000..3be581add16 Binary files /dev/null and b/bin/main/seedu/flashlingo/storage/JsonUserPrefsStorage.class differ diff --git a/bin/main/seedu/flashlingo/storage/Storage.class b/bin/main/seedu/flashlingo/storage/Storage.class new file mode 100644 index 00000000000..7cda8fd1abc Binary files /dev/null and b/bin/main/seedu/flashlingo/storage/Storage.class differ diff --git a/bin/main/seedu/flashlingo/storage/StorageManager.class b/bin/main/seedu/flashlingo/storage/StorageManager.class new file mode 100644 index 00000000000..d259172b36c Binary files /dev/null and b/bin/main/seedu/flashlingo/storage/StorageManager.class differ diff --git a/bin/main/seedu/flashlingo/storage/UserPrefsStorage.class b/bin/main/seedu/flashlingo/storage/UserPrefsStorage.class new file mode 100644 index 00000000000..c44580e59a6 Binary files /dev/null and b/bin/main/seedu/flashlingo/storage/UserPrefsStorage.class differ diff --git a/bin/main/seedu/flashlingo/ui/CommandBox$CommandExecutor.class b/bin/main/seedu/flashlingo/ui/CommandBox$CommandExecutor.class new file mode 100644 index 00000000000..0a354c42f3d Binary files /dev/null and b/bin/main/seedu/flashlingo/ui/CommandBox$CommandExecutor.class differ diff --git a/bin/main/seedu/flashlingo/ui/CommandBox.class b/bin/main/seedu/flashlingo/ui/CommandBox.class new file mode 100644 index 00000000000..efa9ece0b24 Binary files /dev/null and b/bin/main/seedu/flashlingo/ui/CommandBox.class differ diff --git a/bin/main/seedu/flashlingo/ui/FlashcardBox.class b/bin/main/seedu/flashlingo/ui/FlashcardBox.class new file mode 100644 index 00000000000..f51a1eb66cf Binary files /dev/null and b/bin/main/seedu/flashlingo/ui/FlashcardBox.class differ diff --git a/bin/main/seedu/flashlingo/ui/FlashcardBoxNoButton.class b/bin/main/seedu/flashlingo/ui/FlashcardBoxNoButton.class new file mode 100644 index 00000000000..d2eca4ab22a Binary files /dev/null and b/bin/main/seedu/flashlingo/ui/FlashcardBoxNoButton.class differ diff --git a/bin/main/seedu/flashlingo/ui/FlashcardListPanel$FlashCardListViewCell.class b/bin/main/seedu/flashlingo/ui/FlashcardListPanel$FlashCardListViewCell.class new file mode 100644 index 00000000000..5d1aa9ef8a8 Binary files /dev/null and b/bin/main/seedu/flashlingo/ui/FlashcardListPanel$FlashCardListViewCell.class differ diff --git a/bin/main/seedu/flashlingo/ui/FlashcardListPanel.class b/bin/main/seedu/flashlingo/ui/FlashcardListPanel.class new file mode 100644 index 00000000000..8798d5e6eb9 Binary files /dev/null and b/bin/main/seedu/flashlingo/ui/FlashcardListPanel.class differ diff --git a/bin/main/seedu/flashlingo/ui/HelpWindow.class b/bin/main/seedu/flashlingo/ui/HelpWindow.class new file mode 100644 index 00000000000..73b216cd052 Binary files /dev/null and b/bin/main/seedu/flashlingo/ui/HelpWindow.class differ diff --git a/bin/main/seedu/flashlingo/ui/MainWindow.class b/bin/main/seedu/flashlingo/ui/MainWindow.class new file mode 100644 index 00000000000..96d9d4c120c Binary files /dev/null and b/bin/main/seedu/flashlingo/ui/MainWindow.class differ diff --git a/bin/main/seedu/flashlingo/ui/ResultDisplay.class b/bin/main/seedu/flashlingo/ui/ResultDisplay.class new file mode 100644 index 00000000000..bf730a47900 Binary files /dev/null and b/bin/main/seedu/flashlingo/ui/ResultDisplay.class differ diff --git a/bin/main/seedu/flashlingo/ui/StatusBarFooter.class b/bin/main/seedu/flashlingo/ui/StatusBarFooter.class new file mode 100644 index 00000000000..1e15aa485fa Binary files /dev/null and b/bin/main/seedu/flashlingo/ui/StatusBarFooter.class differ diff --git a/bin/main/seedu/flashlingo/ui/Ui.class b/bin/main/seedu/flashlingo/ui/Ui.class new file mode 100644 index 00000000000..1855d31c5ff Binary files /dev/null and b/bin/main/seedu/flashlingo/ui/Ui.class differ diff --git a/bin/main/seedu/flashlingo/ui/UiManager.class b/bin/main/seedu/flashlingo/ui/UiManager.class new file mode 100644 index 00000000000..1adb74d01a1 Binary files /dev/null and b/bin/main/seedu/flashlingo/ui/UiManager.class differ diff --git a/bin/main/seedu/flashlingo/ui/UiPart.class b/bin/main/seedu/flashlingo/ui/UiPart.class new file mode 100644 index 00000000000..34146ca7af7 Binary files /dev/null and b/bin/main/seedu/flashlingo/ui/UiPart.class differ diff --git a/bin/main/view/CommandBox.fxml b/bin/main/view/CommandBox.fxml new file mode 100644 index 00000000000..779bc3bb556 --- /dev/null +++ b/bin/main/view/CommandBox.fxml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/bin/main/view/DarkTheme.css b/bin/main/view/DarkTheme.css new file mode 100644 index 00000000000..366b1de647d --- /dev/null +++ b/bin/main/view/DarkTheme.css @@ -0,0 +1,361 @@ +.background { + -fx-background-color: derive(#1d1d1d, 20%); + background-color: #383838; /* Used in the default.html file */ +} + +.list-cell:empty { + /* Empty cells will not have alternating colours */ + -fx-background: #383838; +} + +.root { + -fx-background-color: #383838; +} + +.label { + -fx-font-size: 11pt; + -fx-font-family: "Courier New"; + -fx-text-fill: #555555; + -fx-opacity: 0.9; +} + +.label-bright { + -fx-font-size: 11pt; + -fx-font-family: "Courier New"; + -fx-text-fill: white; + -fx-opacity: 1; +} + +.label-header { + -fx-font-size: 32pt; + -fx-font-family: "Courier New"; + -fx-text-fill: white; + -fx-opacity: 1; +} + +.text-field { + -fx-font-size: 12pt; + -fx-font-family: "Courier New"; +} + +.tab-pane { + -fx-padding: 0 0 0 1; +} + +.tab-pane .tab-header-area { + -fx-padding: 0 0 0 0; + -fx-min-height: 0; + -fx-max-height: 0; +} + +.table-view { + -fx-base: #1d1d1d; + -fx-control-inner-background: #1d1d1d; + -fx-background-color: #1d1d1d; + -fx-table-cell-border-color: transparent; + -fx-table-header-border-color: transparent; + -fx-padding: 5; +} + +.table-view .column-header-background { + -fx-background-color: transparent; +} + +.table-view .column-header, .table-view .filler { + -fx-size: 35; + -fx-border-width: 0 0 1 0; + -fx-background-color: transparent; + -fx-border-color: + transparent + transparent + derive(-fx-base, 80%) + transparent; + -fx-border-insets: 0 10 1 0; +} + +.table-view .column-header .label { + -fx-font-size: 20pt; + -fx-font-family: "Courier New"; + -fx-text-fill: white; + -fx-alignment: center-left; + -fx-opacity: 1; +} + +.table-view:focused .table-row-cell:filled:focused:selected { + -fx-background-color: -fx-focus-color; +} + +.split-pane:horizontal .split-pane-divider { + -fx-background-color: derive(#1d1d1d, 20%); + -fx-border-color: transparent transparent transparent #4d4d4d; +} + +.split-pane { + -fx-border-radius: 1; + -fx-border-width: 1; + -fx-background-color: derive(#1d1d1d, 20%); +} + +.list-view { + -fx-background-insets: 0; + -fx-padding: 0; + -fx-background-color: derive(#1d1d1d, 20%); +} + +.list-cell { + -fx-label-padding: 0 0 0 0; + -fx-graphic-text-gap : 0; + -fx-padding: 0 0 0 0; +} + +.list-cell:filled:even { + -fx-background-color: #3c3e3f; +} + +.list-cell:filled:odd { + -fx-background-color: #515658; +} + +.list-cell:filled:selected { + -fx-background-color: #424d5f; +} + +.list-cell:filled:selected #cardPane { + -fx-border-color: #3e7b91; + -fx-border-width: 1; +} + +.list-cell .label { + -fx-text-fill: white; +} + +.cell_big_label { + -fx-font-family: "Courier New"; + -fx-font-size: 16px; + -fx-text-fill: #010504; +} + +.cell_small_label { + -fx-font-family: "Courier New"; + -fx-font-size: 13px; + -fx-text-fill: #010504; +} + +.stack-pane { + -fx-background-color: derive(#1d1d1d, 20%); +} + +.pane-with-border { + -fx-background-color: derive(#1d1d1d, 20%); + -fx-border-color: derive(#1d1d1d, 10%); + -fx-border-top-width: 1px; +} + +.status-bar { + -fx-background-color: derive(#1d1d1d, 30%); +} + +.result-display { + -fx-background-color: transparent; + -fx-font-family: "Courier New"; + -fx-font-size: 13pt; + -fx-text-fill: white; +} + +.result-display .label { + -fx-text-fill: black !important; +} + +.status-bar .label { + -fx-font-family: "Courier New"; + -fx-text-fill: white; + -fx-padding: 4px; + -fx-pref-height: 30px; +} + +.status-bar-with-border { + -fx-background-color: derive(#1d1d1d, 30%); + -fx-border-color: derive(#1d1d1d, 25%); + -fx-border-width: 1px; +} + +.status-bar-with-border .label { + -fx-text-fill: white; +} + +.grid-pane { + -fx-background-color: derive(#1d1d1d, 30%); + -fx-border-color: derive(#1d1d1d, 30%); + -fx-border-width: 1px; +} + +.grid-pane .stack-pane { + -fx-background-color: derive(#1d1d1d, 30%); +} + +.context-menu { + -fx-background-color: derive(#1d1d1d, 50%); +} + +.context-menu .label { + -fx-text-fill: white; +} + +.menu-bar { + -fx-background-color: derive(#1d1d1d, 20%); +} + +.menu-bar .label { + -fx-font-size: 14pt; + -fx-font-family: "Courier New"; + -fx-text-fill: white; + -fx-opacity: 0.9; +} + +.menu .left-container { + -fx-background-color: black; +} + +/* + * Metro style Push Button + * Author: Pedro Duque Vieira + * http://pixelduke.wordpress.com/2012/10/23/jmetro-windows-8-controls-on-java/ + */ +.button { + -fx-padding: 5 22 5 22; + -fx-border-color: #e2e2e2; + -fx-border-width: 2; + -fx-background-radius: 0; + -fx-background-color: #1d1d1d; + -fx-font-family: "Courier New", Helvetica, Arial, sans-serif; + -fx-font-size: 11pt; + -fx-text-fill: #d8d8d8; + -fx-background-insets: 0 0 0 0, 0, 1, 2; +} + +.button:hover { + -fx-background-color: #3a3a3a; +} + +.button:pressed, .button:default:hover:pressed { + -fx-background-color: white; + -fx-text-fill: #1d1d1d; +} + +.button:focused { + -fx-border-color: white, white; + -fx-border-width: 1, 1; + -fx-border-style: solid, segments(1, 1); + -fx-border-radius: 0, 0; + -fx-border-insets: 1 1 1 1, 0; +} + +.button:disabled, .button:default:disabled { + -fx-opacity: 0.4; + -fx-background-color: #1d1d1d; + -fx-text-fill: white; +} + +.button:default { + -fx-background-color: -fx-focus-color; + -fx-text-fill: #ffffff; +} + +.button:default:hover { + -fx-background-color: derive(-fx-focus-color, 30%); +} + +.dialog-pane { + -fx-background-color: #1d1d1d; +} + +.dialog-pane > *.button-bar > *.container { + -fx-background-color: #1d1d1d; +} + +.dialog-pane > *.label.content { + -fx-font-size: 14px; + -fx-font-weight: bold; + -fx-text-fill: white; +} + +.dialog-pane:header *.header-panel { + -fx-background-color: derive(#1d1d1d, 25%); +} + +.dialog-pane:header *.header-panel *.label { + -fx-font-size: 18px; + -fx-font-style: italic; + -fx-fill: white; + -fx-text-fill: white; +} + +.scroll-bar { + -fx-background-color: derive(#1d1d1d, 20%); +} + +.scroll-bar .thumb { + -fx-background-color: derive(#1d1d1d, 50%); + -fx-background-insets: 3; +} + +.scroll-bar .increment-button, .scroll-bar .decrement-button { + -fx-background-color: transparent; + -fx-padding: 0 0 0 0; +} + +.scroll-bar .increment-arrow, .scroll-bar .decrement-arrow { + -fx-shape: " "; +} + +.scroll-bar:vertical .increment-arrow, .scroll-bar:vertical .decrement-arrow { + -fx-padding: 1 8 1 8; +} + +.scroll-bar:horizontal .increment-arrow, .scroll-bar:horizontal .decrement-arrow { + -fx-padding: 8 1 8 1; +} + +#cardPane { + -fx-background-color: transparent; + -fx-border-width: 0; +} + +#commandTypeLabel { + -fx-font-size: 11px; + -fx-text-fill: #F70D1A; +} + +#commandTextField { + -fx-background-color: transparent #383838 transparent #383838; + -fx-background-insets: 0; + -fx-border-color: #383838 #383838 #ffffff #383838; + -fx-border-insets: 0; + -fx-border-width: 1; + -fx-font-family: "Courier New"; + -fx-font-size: 13pt; + -fx-text-fill: white; +} + +#filterField, #personListPanel, #personWebpage { + -fx-effect: innershadow(gaussian, black, 10, 0, 0, 0); +} + +#resultDisplay .content { + -fx-background-color: transparent, #383838, transparent, #383838; + -fx-background-radius: 0; +} + +#tags { + -fx-hgap: 7; + -fx-vgap: 3; +} + +#tags .label { + -fx-text-fill: white; + -fx-background-color: #3e7b91; + -fx-padding: 1 3 1 3; + -fx-border-radius: 2; + -fx-background-radius: 2; + -fx-font-size: 11; +} diff --git a/bin/main/view/Extensions.css b/bin/main/view/Extensions.css new file mode 100644 index 00000000000..8a7d277d0fb --- /dev/null +++ b/bin/main/view/Extensions.css @@ -0,0 +1,15 @@ +.error { + -fx-text-fill: #d06651 !important; /* The error class should always override the default text-fill style */ +} + +.tag-selector { + -fx-border-width: 1; + -fx-border-color: white; + -fx-border-radius: 3; + -fx-background-radius: 3; +} + +.tooltip-text { + -fx-text-fill: white; +} + diff --git a/bin/main/view/FlashcardBox.fxml b/bin/main/view/FlashcardBox.fxml new file mode 100644 index 00000000000..605c8fecf1b --- /dev/null +++ b/bin/main/view/FlashcardBox.fxml @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + +