|
5 | 5 |
|
6 | 6 | == PROJECT: AlgoBase |
7 | 7 |
|
8 | | ---- |
9 | | - |
10 | 8 | == Overview |
11 | 9 |
|
12 | | -AlgoBase is a desktop address book application used for teaching Software Engineering principles. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 10 kLoC. |
| 10 | +AlgoBase is a desktop algorithmic problem manager. |
| 11 | +The user interacts with it using a CLI, and it has a GUI created with JavaFX. |
| 12 | +It is written in Java, and has about 20 kLoC. |
13 | 13 |
|
14 | 14 | == Summary of contributions |
15 | 15 |
|
16 | | -* *Major enhancement*: added *the ability to undo/redo previous commands* |
17 | | -** What it does: allows the user to undo all previous commands one at a time. Preceding undo commands can be reversed by using the redo command. |
18 | | -** Justification: This feature improves the product significantly because a user can make mistakes in commands and the app should provide a convenient way to rectify them. |
19 | | -** Highlights: This enhancement affects existing commands and commands to be added in future. It required an in-depth analysis of design alternatives. The implementation too was challenging as it required changes to existing commands. |
20 | | -** Credits: _{mention here if you reused any code/ideas from elsewhere or if a third-party library is heavily used in the feature so that a reader can make a more accurate judgement of how much effort went into the feature}_ |
21 | | - |
22 | | -* *Minor enhancement*: added a history command that allows the user to navigate to previous commands using up/down keys. |
23 | | - |
24 | | -* *Code contributed*: [https://github.com[Functional code]] [https://github.com[Test code]] _{give links to collated code files}_ |
| 16 | +* *Major enhancement*: implemented *task management feature* |
| 17 | +** What it does: |
| 18 | +This feature allows the user to keep track of the problems to be done as upcoming tasks |
| 19 | +and thus manage his/her progress for each plan. |
| 20 | +** Justification: |
| 21 | +This feature is the core feature of AlgoBase. |
| 22 | +It allows the user to manage the problems to meet different needs, |
| 23 | +such as interviews for different companies or different rounds. |
| 24 | +By introducing the notion of tasks, user can add more details to the problems |
| 25 | +such as due dates and whether each problem has been solved, without modifying the original problem. |
| 26 | +This adds significant value to AlgoBase as an algorithmic problem manager. |
| 27 | +** Highlights: |
| 28 | +This feature is highly coupled with the problem feature and plan feature. |
| 29 | +It requires in-depth analysis of all existing features in order to avoid unintended behaviours. |
| 30 | +For example, since each task stores a problem, when the corresponding problem is deleted or updated, |
| 31 | +all tasks in all plans that are related to this problem need to be updated at the same time. |
| 32 | +Moreover, to avoid user mistakes when deleting problems that are used in some tasks, |
| 33 | +which may cause additional overhead to bring back the tasks, |
| 34 | +a forced mode is introduced to reduce such possibilities. |
| 35 | +It involves all main components in AlgoBase, including `Model`, `Logic`, `Storage` and `Ui`. |
| 36 | + |
| 37 | +* *Minor enhancement*: Implemented *data management feature* + |
| 38 | +It allows the user to export their data into JSON format and import new data from JSON files. |
| 39 | + |
| 40 | +* *Code contributed*: [https://nus-cs2103-ay1920s1.github.io/tp-dashboard/#=undefined&search=jiayushe[View on RepoSense]] |
25 | 41 |
|
26 | 42 | * *Other contributions*: |
27 | 43 |
|
28 | 44 | ** Project management: |
29 | | -*** Managed releases `v1.3` - `v1.5rc` (3 releases) on GitHub |
| 45 | +*** Managed releases `v1.0` `v1.3.2` (2 releases) on GitHub |
30 | 46 | ** Enhancements to existing features: |
31 | | -*** Updated the GUI color scheme (Pull requests https://github.com[#33], https://github.com[#34]) |
32 | | -*** Wrote additional tests for existing features to increase coverage from 88% to 92% (Pull requests https://github.com[#36], https://github.com[#38]) |
| 47 | +*** TBA |
33 | 48 | ** Documentation: |
34 | | -*** Did cosmetic tweaks to existing contents of the User Guide: https://github.com[#14] |
| 49 | +*** TBA |
35 | 50 | ** Community: |
36 | | -*** PRs reviewed (with non-trivial review comments): https://github.com[#12], https://github.com[#32], https://github.com[#19], https://github.com[#42] |
37 | | -*** Contributed to forum discussions (examples: https://github.com[1], https://github.com[2], https://github.com[3], https://github.com[4]) |
38 | | -*** Reported bugs and suggestions for other teams in the class (examples: https://github.com[1], https://github.com[2], https://github.com[3]) |
39 | | -*** Some parts of the history feature I added was adopted by several other class mates (https://github.com[1], https://github.com[2]) |
| 51 | +*** PRs reviewed (with non-trivial review comments): |
| 52 | +https://github.com/AY1920S1-CS2103T-W11-1/main/pull/65[#65] |
| 53 | +https://github.com/AY1920S1-CS2103T-W11-1/main/pull/67[#67] |
| 54 | +https://github.com/AY1920S1-CS2103T-W11-1/main/pull/81[#81] |
| 55 | +https://github.com/AY1920S1-CS2103T-W11-1/main/pull/90[#90] |
| 56 | +https://github.com/AY1920S1-CS2103T-W11-1/main/pull/106[#106] |
| 57 | +*** Contributed to forum discussions: TBA |
| 58 | +*** Reported bugs and suggestions for other teams in the class: |
| 59 | +https://github.com/jiayushe/ped[PE Dry Run] |
40 | 60 | ** Tools: |
41 | | -*** Integrated a third party library (Natty) to the project (https://github.com[#42]) |
42 | | -*** Integrated a new Github plugin (CircleCI) to the team repo |
43 | | - |
44 | | -_{you can add/remove categories in the list above}_ |
| 61 | +*** Integrated Github plugins (AppVeyor, Coveralls, Netlify, Traivs) to the team repository |
45 | 62 |
|
46 | 63 | == Contributions to the User Guide |
47 | 64 |
|
48 | | - |
49 | 65 | |=== |
50 | 66 | |_Given below are sections I contributed to the User Guide. They showcase my ability to write documentation targeting end-users._ |
51 | 67 | |=== |
| 68 | +include::../UserGuide.adoc[tag=task] |
52 | 69 |
|
53 | 70 | == Contributions to the Developer Guide |
54 | 71 |
|
55 | 72 | |=== |
56 | 73 | |_Given below are sections I contributed to the Developer Guide. They showcase my ability to write technical documentation and the technical depth of my contributions to the project._ |
57 | 74 | |=== |
| 75 | +https://ay1920s1-cs2103t-w11-1.github.io/main/DeveloperGuide.html#task-management-feature[Implementation - Task Management] + |
| 76 | +https://ay1920s1-cs2103t-w11-1.github.io/main/DeveloperGuide.html#Design-Ui[Design - UI] + |
| 77 | +https://ay1920s1-cs2103t-w11-1.github.io/main/DeveloperGuide.html#Design-Storage[Design - Storage] |
| 78 | +include::../DeveloperGuide.adoc[tag=task] |
58 | 79 |
|
| 80 | +== PROJECT: https://sourceacademy.nus.edu.sg/sourcecast[SourceCast] |
59 | 81 |
|
60 | | -== PROJECT: PowerPointLabs |
61 | | - |
62 | | ---- |
| 82 | +An interactive code recorder and player to support e-teaching and e-learning, used in Source Academy, |
| 83 | +an immersive experiential learning environment for NUS freshman programming methodology course, CS1101S. |
63 | 84 |
|
64 | | -_{Optionally, you may include other projects in your portfolio.}_ |
|
0 commit comments