[CS2113T-F14-4] NUSchedule#131
Conversation
|  | ||
| *Figure 3.6.1 Class diagram for location component* | ||
|
|
||
| __API:__ `LocationList.java` <br> | ||
|
|
||
| The `LocationList` is made up of an ArrayList of Locations, which is a type of variable that stores different information | ||
| for different types of location (eg. `Building`, `Hostel`, etc.). However, do note that any place that is | ||
| not within the list of saved locations will be saved as type `OutOfNUS`, and would not be saved into the `location.txt` | ||
| file. The location will still be part of the location list before the app closes, and it will also be | ||
| saved as part of the Event information. |
There was a problem hiding this comment.
Is the Location class suppose to be an abstract class? Based on the enumeration, each location is of a certain type (building, hostel, LT or OutOfNUS) and there are classes for each of them, it looks like Location is an abstract class. Also, I think there should be an association between the Location and the enumeration
| <br>The `Location` component | ||
| * stores information about various types of locations | ||
| * prints the list of locations that is saved in the data file | ||
| * checks if a location is saved in the list and returns the location when asked |
There was a problem hiding this comment.
Does the Location component stores the information about the various types of locations? Sounds like it this is the LocationList component.
|  | ||
|
|
||
| The Architecture Diagram above provides a high-level view of the design of NUSchedule. The app can be broken down into | ||
| 5 different components: | ||
| 1. Main: Initializes the other components and connects them with each other. | ||
| 2. UI: Manages the User Interface that the user interacts with. | ||
| 3. Logic: Interprets user commands. | ||
| 4. Storage: Reads data from and writes data to the hard disk. | ||
| 5. Model: Stores the data the app uses in memory. | ||
|
|
||
| __How the architecture components interact with each other__ | ||
| The sequence diagram below shows how each individual component interacts with each other when the user inputs a command. | ||
|  |
| ### 4.5 Reminders | ||
|
|
||
| ### 4.6 Sort events | ||
|
|
||
| ### 4.7 View events | ||
|
|
||
| ## 5. Documentation | ||
|
|
| |Version| As a ... | I want to ... | So that I can ...| | ||
| |--------|----------|---------------|------------------| | ||
| |v1.0|new user|see usage instructions|refer to them when I forget how to use the application| | ||
| |v2.0|user|find a to-do item by name|locate a to-do without having to go through the entire list| | ||
|
|
||
| |1.0|busy individual|keep track of both personal and school activities|avoid clashing events | ||
| |1.0|freshman|know module details and lesson venues|be on time for my activities | ||
| |1.0|forgetful person|be reminded of the deadlines for my assignments|submit on time | ||
| |1.0|tutor|know the estimated time for my students to travel to their next class|pace my lesson suitably | ||
| |1.0|hardworking student|track how much time I have spent studying\allocate my time efficiently | ||
| |2.0|exchange student|know the optimal path to reach my next destination|avoid getting lost | ||
| |2.0|user|find a to-do item by name|locate a to-do without having to go through the entire list| | ||
| |2.0|professor|Know whether my students have another lesson after mine and the expected time of travelling|Pace my lesson appropriately |
| ### 3.5 Model | ||
| __API__:`EventList.java` | ||
| The `Model` component stores an ArrayList, events, that represents the current list of events. | ||
|
|
|
|
||
| ### 3.6 Location | ||
|  | ||
| *Figure 3.6.1 Class diagram for location component* |
There was a problem hiding this comment.
Some formatting error might consider to review it before the final version update.
| The sequence diagram below shows exactly which methods, from which classes, are called to obtain the required location. | ||
|  | ||
| *Figure 4.4.1 Sequence diagram for locate function* |
There was a problem hiding this comment.
Should the lifeline of EventList and LocationList be extended longer?
| * NUS student or staff | ||
| * able to type quickly | ||
| * has quite a number of events to keep track of | ||
| * prefers to use desktop apps | ||
| * prefers using Command Line Interface (CLI) apps | ||
| * prefers typing instead of mouse interactions |
There was a problem hiding this comment.
Consider making it one sentence instead? For easier readability
| whether there is any event has overlap timing with the newly added event. | ||
|
|
||
| The sequence diagram below shows the process of adding a new event. | ||
| <br> |
| whether there is any event has overlap timing with the newly added event. | ||
|
|
||
| The sequence diagram below shows the process of adding a new event. | ||
| <br> |
| each other to run the program. | ||
|
|
||
| ### 3.1 Architecture | ||
| <br> |
| <br><br> | ||
|
|
||
| ## Table of Contents | ||
| 1. [Introduction](#1-introduction) |
There was a problem hiding this comment.
The hyperlinks are not working on GitHub pages as there will changes when GitHub convert markdown into HTML files. In this case, changing it to (#introduce) will work on pages but not markdown. Maybe the team could review this and find the best way to make it work?
There was a problem hiding this comment.
| entering `edit 1 class <new event description>` to edit the one existing event. | ||
|
|
||
| Step 3. `editCommand()` function replaces the original event with the edited one. | ||
| <br> |
Move new information parsing to edit command
Fix bug in editing of an event into a personal event
…into EditCommand
Edit command
Add location sorting
consider academics related personal event in next commit
consider academics related personal event in the next commit
Study time
Allow edits for new class
…to allow more valid input
# Conflicts: # src/main/java/event/SelfStudy.java # src/main/java/eventlist/EventList.java # src/main/java/parser/Parser.java
update Storage of self study. use equalsIgnorecase instead of equals …
Fixed locate and storage








NUSchedule helps students/staffs in NUS manage tasks of their daily routine, as well as help them to find the shortest route to their destination. It is optimized for CLI users so that frequent tasks can be done faster by typing in commands.