View Code? Open in Web Editor
NEW
:ab::four: Address Book sample application (Level 4)
Home Page: https://se-edu.github.io/addressbook-level4
License: MIT License
Java 98.17%
CSS 1.31%
Shell 0.50%
HTML 0.02%
addressbook-level4's Introduction
This is a desktop Address Book application. It has a GUI but most of the user interactions happen using a CLI (Command Line Interface).
It is a Java sample application intended for students learning Software Engineering while using Java as the main programming language.
It is written in OOP fashion . It provides a reasonably well-written code example that is significantly bigger (around 6 KLoC)than what students usually write in beginner-level SE modules.
What’s different from level 3 :
A more sophisticated GUI that includes a list panel and an in-built Browser.
More test cases, including automated GUI testing.
Support for Build Automation using Gradle and for Continuous Integration using Travis CI.
addressbook-level4's People
addressbook-level4's Issues
We can check for the file existence and add some sample data if the file doesn't exist.
It should change focus to the correct person and load the search page in browser.
Currently outdated. Things like hotkey to resize application should be removed.
Need to figure the requirement and implement this.
My suggestion will be label listpanel card as #1 , #2 , etc.
then delete 2
It's a bit odd to have a getInternalList()
method. On the surface it looks like a violation of encapsulation. To be investigated further.
Let's remove all unused stuff including coverall, checkstyle, pmd, findbugs. We can add them in a future date.
Add java assert
s where appropriate.
And clean up all associated logic
Normally, we should not show private fields. This command will reveal private details as well.
Commenting out GuiTest.captureScreenshot()
(and the renaming of the file) seems to remove the disruption.
If possible, we should introduce a Logic (and LogicTest), similar to level-3.
Properly setup checkstyle
Plugins for dependencies and checkstyle on eclipse
Is it possible to make these two similar to how we create other UiParts?
Currently, it is part of the Panel. That makes sense in HubTurbo, but not in this app.
The name of the plugin should not be in the task name?
Mainly set the status area to white and modify margins.
Make it 3 lines instead of current 1 line? Some error messages have more than one line.
Just ported over the entire command structure and Person and Tag model. Due to the nested serializable variables in Person model. There is some issue with marshalling now.
Renamed the controller package as ui
I think we don't need to set assertions for the jar file. Instead, we can do a simple jar build.
Looks like we don't have GUI unit tests. Remove package and gradle tasks?
Currently they are being logged as KeyBindingEvent
s.
This is applicable if the user has to enter username/password into the browser to login to GitHub.
Currently, the data is in xml format but the file name is required to be .txt
I think we can speed up the tests if we set the entire command in one shot instead of typing one letter at a time.
The current command package is slightly outdated.
select #
scrolls and focuses on the specified item (which also loads the corresponding webpage).
Looks like unit tests are not being run when I use the unitTests
task
The event can be triggered at MainWindow and Command.
Listen for the event at MainApp
We can also bring all other packages (commons
etc.) inside seedu.address
ResultsDisplay should not be inside CommandBox UiPart. In future, ResultsDisplay can show results of other UI actions, not just commands.
List has this two person
benson and fiona.
Both have substring of "on". Therefore feedback will be 2 persons listed. However it is returning 0 person listed now.