Skip to content

Commit

Permalink
Merge pull request #220 from jiayushe/ppp
Browse files Browse the repository at this point in the history
Update PPP
  • Loading branch information
jiayushe authored Nov 5, 2019
2 parents 3433dd6 + 0226c9d commit efbfecc
Show file tree
Hide file tree
Showing 3 changed files with 53 additions and 30 deletions.
3 changes: 2 additions & 1 deletion README.adoc
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
= AlgoBase
ifdef::env-github,env-browser[:relfileprefix: docs/]

https://travis-ci.org/AY1920S1-CS2103T-W11-1/main[image:https://travis-ci.org/AY1920S1-CS2103T-W11-1/main.svg?branch=master[Build Status]]
https://travis-ci.org/AY1920S1-CS2103T-W11-1/main[image:https://travis-ci.org/AY1920S1-CS2103T-W11-1/main.svg?branch=master[Travis Build Status]]
https://ci.appveyor.com/project/jiayushe/main[image:https://ci.appveyor.com/api/projects/status/yfqyddiphunf2i2u/branch/master?svg=true[AppVeyor Build Status]]
https://coveralls.io/github/AY1920S1-CS2103T-W11-1/main?branch=master[image:https://coveralls.io/repos/github/AY1920S1-CS2103T-W11-1/main/badge.svg?branch=master&service=github[Coverage Status]]
https://app.netlify.com/sites/algobase/deploys[image:https://img.shields.io/netlify/05fde8a9-d24f-4a79-972e-0e6ea1ceb8a5?logo=netlify[Netlify Status]]
https://github.com/AY1920S1-CS2103T-W11-1/main/blob/master/LICENSE[image:https://img.shields.io/badge/license-MIT-blue.svg[MIT License]]
Expand Down
2 changes: 2 additions & 0 deletions docs/UserGuide.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -367,6 +367,7 @@ Format: `findplan [n/NAME] [d/DESCRIPTION] [start/RANGE_START] [end/RANGE_END] [
** is matched word by word.
** is considered a match only when there is a task whose name is exactly the same as the given task name.

// tag::task[]
=== Task Management

==== Adding a new task to a plan: `addtask`
Expand Down Expand Up @@ -448,6 +449,7 @@ Format: `setplan PLAN_INDEX`
Examples:

* `setplan 10`
// end::task[]

=== Editing from GUI

Expand Down
78 changes: 49 additions & 29 deletions docs/team/jiayushe.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -5,60 +5,80 @@

== PROJECT: AlgoBase

---

== Overview

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.
AlgoBase is a desktop algorithmic problem manager.
The user interacts with it using a CLI, and it has a GUI created with JavaFX.
It is written in Java, and has about 20 kLoC.

== Summary of contributions

* *Major enhancement*: added *the ability to undo/redo previous commands*
** 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.
** 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.
** 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.
** 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}_

* *Minor enhancement*: added a history command that allows the user to navigate to previous commands using up/down keys.

* *Code contributed*: [https://github.com[Functional code]] [https://github.com[Test code]] _{give links to collated code files}_
* *Major enhancement*: implemented *task management feature*
** What it does:
This feature allows the user to keep track of the problems to be done as upcoming tasks
and thus manage his/her progress for each plan.
** Justification:
This feature is the core feature of AlgoBase.
It allows the user to manage the problems to meet different needs,
such as interviews for different companies or different rounds.
By introducing the notion of tasks, user can add more details to the problems
such as due dates and whether each problem has been solved, without modifying the original problem.
This adds significant value to AlgoBase as an algorithmic problem manager.
** Highlights:
This feature is highly coupled with the problem feature and plan feature.
It requires in-depth analysis of all existing features in order to avoid unintended behaviours.
For example, since each task stores a problem, when the corresponding problem is deleted or updated,
all tasks in all plans that are related to this problem need to be updated at the same time.
Moreover, to avoid user mistakes when deleting problems that are used in some tasks,
which may cause additional overhead to bring back the tasks,
a forced mode is introduced to reduce such possibilities.
It involves all main components in AlgoBase, including `Model`, `Logic`, `Storage` and `Ui`.

* *Minor enhancement*: Implemented *data management feature* +
It allows the user to export their data into JSON format and import new data from JSON files.

* *Code contributed*: [https://nus-cs2103-ay1920s1.github.io/tp-dashboard/#=undefined&search=jiayushe[View on RepoSense]]

* *Other contributions*:

** Project management:
*** Managed releases `v1.3` - `v1.5rc` (3 releases) on GitHub
*** Managed releases `v1.0` `v1.3.2` (2 releases) on GitHub
** Enhancements to existing features:
*** Updated the GUI color scheme (Pull requests https://github.com[#33], https://github.com[#34])
*** Wrote additional tests for existing features to increase coverage from 88% to 92% (Pull requests https://github.com[#36], https://github.com[#38])
*** TBA
** Documentation:
*** Did cosmetic tweaks to existing contents of the User Guide: https://github.com[#14]
*** TBA
** Community:
*** PRs reviewed (with non-trivial review comments): https://github.com[#12], https://github.com[#32], https://github.com[#19], https://github.com[#42]
*** Contributed to forum discussions (examples: https://github.com[1], https://github.com[2], https://github.com[3], https://github.com[4])
*** Reported bugs and suggestions for other teams in the class (examples: https://github.com[1], https://github.com[2], https://github.com[3])
*** Some parts of the history feature I added was adopted by several other class mates (https://github.com[1], https://github.com[2])
*** PRs reviewed (with non-trivial review comments):
https://github.com/AY1920S1-CS2103T-W11-1/main/pull/65[#65]
https://github.com/AY1920S1-CS2103T-W11-1/main/pull/67[#67]
https://github.com/AY1920S1-CS2103T-W11-1/main/pull/81[#81]
https://github.com/AY1920S1-CS2103T-W11-1/main/pull/90[#90]
https://github.com/AY1920S1-CS2103T-W11-1/main/pull/106[#106]
*** Contributed to forum discussions: TBA
*** Reported bugs and suggestions for other teams in the class:
https://github.com/jiayushe/ped[PE Dry Run]
** Tools:
*** Integrated a third party library (Natty) to the project (https://github.com[#42])
*** Integrated a new Github plugin (CircleCI) to the team repo

_{you can add/remove categories in the list above}_
*** Integrated Github plugins (AppVeyor, Coveralls, Netlify, Traivs) to the team repository

== Contributions to the User Guide


|===
|_Given below are sections I contributed to the User Guide. They showcase my ability to write documentation targeting end-users._
|===
include::../UserGuide.adoc[tag=task]

== Contributions to the Developer Guide

|===
|_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._
|===
https://ay1920s1-cs2103t-w11-1.github.io/main/DeveloperGuide.html#task-management-feature[Implementation - Task Management] +
https://ay1920s1-cs2103t-w11-1.github.io/main/DeveloperGuide.html#Design-Ui[Design - UI] +
https://ay1920s1-cs2103t-w11-1.github.io/main/DeveloperGuide.html#Design-Storage[Design - Storage]
include::../DeveloperGuide.adoc[tag=task]

== PROJECT: https://sourceacademy.nus.edu.sg/sourcecast[SourceCast]

== PROJECT: PowerPointLabs

---
An interactive code recorder and player to support e-teaching and e-learning, used in Source Academy,
an immersive experiential learning environment for NUS freshman programming methodology course, CS1101S.

_{Optionally, you may include other projects in your portfolio.}_

0 comments on commit efbfecc

Please sign in to comment.