-
Notifications
You must be signed in to change notification settings - Fork 236
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
[CS2113T-F11-1] nocap #44
base: master
Are you sure you want to change the base?
[CS2113T-F11-1] nocap #44
Conversation
docs/DeveloperGuide.md
Outdated
|
||
**API** : module | ||
|
||
Data from all the modules are stored in the ModuleList class. This includes: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe could add markups for ModuleList and ScheduleList as well to standardize with the rest of the components
|
||
**API** : `semester` | ||
|
||
![alt_text](media/SemesterListDiagram.jpg) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
|
||
{Describe the design and implementation of the product. Use UML diagrams and short code snippets where applicable.} | ||
## Parser |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe add a subheading on how NoCap as a whole works like how you've done for parser. As in a program flow from user input till the output returned to user, showing how all the components work together.
docs/DeveloperGuide.md
Outdated
|
||
|
||
|
||
1. `TaskList` stores all tasks in an `ArrayList<Task>`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
docs/DeveloperGuide.md
Outdated
Step 5: `overallListParser` creates an `OverallTaskList`. Through nested switch cases, **TaskType** and ** | ||
TaskDescription** are matched, and the corresponding method `OverallTaskList#sortByDateAndPrint()` is called. As the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
docs/DeveloperGuide.md
Outdated
- If day of week and timeslot corresponds, venue and comments information is printed out | ||
- If day of week and timeslot does not correspond, and blank character " " is printed instead. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
docs/DeveloperGuide.md
Outdated
day of week | ||
|
||
timeslot | ||
|
||
location | ||
|
||
comments |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
docs/DeveloperGuide.md
Outdated
<<<<<<< HEAD | ||
The modules are stored in an ArrayList and ModuleList uses the Module.get(int index) method to access the target Module. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
`list task sortbydate`. | ||
|
||
The Sequence Diagram below illustrates the process | ||
![alt_text](media/ParserSequenceDiagram.png) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
|
||
The diagram below illustrates the `splitString` process: | ||
|
||
![alt_text](media/splitStringDiagram.JPG) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
docs/DeveloperGuide.md
Outdated
|
||
![alt_text](media/capComputationSequenceDiagram.png) | ||
|
||
* When `commandAddGrade()` or `commandAddCredit()` is called in Parser, `addgrade(description)` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
perhaps the group meant addGrade(description)
here instead of addgrade(description)
|
||
All data related to module is stored in the module class. An Arraylist of Module is used to store and manage the modules. ModuleList is also responsible for constructing and printing out the Timetable. | ||
|
||
![moduleListClassDiagram](media/moduleListClassDiagram.png) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- ModuleList contains the getter method find(String input) which returns a module by the same name as the input. | ||
- Module contains getter and setter methods to change or access its contents. | ||
- When Module is constructed, an empty gradableTaskList, taskList and scheduleList wll be instantiated and stored in Module. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
docs/DeveloperGuide.md
Outdated
- If day of week and timeslot corresponds, venue and comments information is printed out | ||
- If day of week and timeslot does not correspond, and blank character " " is printed instead. | ||
======= | ||
# ![modulePrintTimetableSeq](media/modulePrintTimetableSeq.png) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
list. | ||
3. toString() prints out all relevant schedule information in a list format. This is done by going through the list and | ||
printing Schedule one after another. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
characters in length. This is to ensure that it fits within its time slot within the Timetable when printed. | ||
|
||
![scheduleseq](media/scheduleseq.png) | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The overall DG looks good!
|
||
{Describe the value proposition: what problem does it solve?} | ||
![alt_text](media/ParserClassDiagram.JPG) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The high level class diagram is a good addition for the reader to understand the overall structure of the parser. But perhaps you could try to follow the same style of class diagram that you have used for Semester.
|
||
**API** : `semester` | ||
|
||
![alt_text](media/SemesterListDiagram.jpg) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
|
||
**API** : `task.tasklist` | ||
|
||
![alt_text](media/TaskClassDiagram.png) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
docs/DeveloperGuide.md
Outdated
1. Whenever the `Task` object is instantiated, the `attributes` listed above will be initialized by the `setter` | ||
methods: `setDescription()`, `setDate()`, `setDone()`, `setLate()` and `setDeadline()`. | ||
2. When calling `printAllTask()`, `printWeeklyTask()`, `printMonthlyTask()` in `OverallTaskList` the | ||
method `updateOverdue()`will be called which checks for the truth value of the `boolean` attribute `isDone` and also | ||
whether the current date and time of the system clock is after the `deadline` of the `Task` object. | ||
3. If `isDone` is `FALSE` and the `deadline` is later than the current date and time, `updateOverdue()` will set the | ||
attribute `isLate` of the current `Task` object to `TRUE`. | ||
4. Calling the toString prints out the task information in the Task object. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You could perhaps draw a sequence diagram for this set of steps just like how you have done for the others to help with clarity.
Add list gradable command
* 'master' of https://github.com/AY2122S1-CS2113T-F11-1/tp: add /m module list gradable add /m module list gradable Remove magic number fix checkstyle issues Update UG to give clearer explanation on list task functions Updated UG Edit UG Updated UG Bug fixes checkstyle fix bugs mainly in UG UG updates
Add grade bug and UG updates
Branch fix functional bugs
- Added list task normal
Add ug list task section
* 'master' of https://github.com/AY2122S1-CS2113T-F11-1/tp: Add ug list task section fix bug fix checkstyle fix checkstyle fix functional bugs addgrade bug fix
Add documentation for parser methods
Create Project portfolio page
0 credit bug update
add gradable man testing 2
add feedback to task editdeadline
Finalbugfixes
Final Edits
Changed updateOverdue() to allow setting isLate to false
Bug fixes
Bug fixes
NoCap (NC) is a desktop app for managing modules taken in NUS, optimized for use via a Command Line Interface (CLI). If you can type fast, NC can get your module management tasks done faster than traditional GUI apps. It is the perfect app for NUS students!