Skip to content

Commit

Permalink
Merge 62e1947 into 05e02de
Browse files Browse the repository at this point in the history
  • Loading branch information
thaowei committed Nov 11, 2019
2 parents 05e02de + 62e1947 commit 6775e42
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 25 deletions.
11 changes: 11 additions & 0 deletions docs/UserGuide.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -980,6 +980,7 @@ Displays detailed help for a specific command.

Format: `help <command word>`

// tag::scriptingapi[]
== Scripting API

The Nashorn scripting engine is used. All features and Java class access of the Nashorn engine are available. See the https://docs.oracle.com/en/java/javase/11/nashorn/nashorn-java-api.html[Nashorn documentation] for more details.
Expand All @@ -989,6 +990,8 @@ Budget Buddy defines a few global variables and functions to ease script writing
NOTE: Due to the nature of JavaScript, scripts may modify these variables and functions. To reset the script
environment, use <<script-reset,the `script reset` command>>.

// end::scriptingapi[]

=== Global variables

The following global variables are predefined in the script environment.
Expand All @@ -1006,6 +1009,8 @@ https://github.com/AY1920S1-CS2103T-W13-4/main/blob/master/src/main/java/budgetb
if you wish to use `bb`.
====

// tag::scriptingapi2[]

=== Functions

The following helper functions are predefined in the script environment.
Expand All @@ -1031,6 +1036,8 @@ Optional arguments should be given as a single JavaScript object. For example, f

==== Account functions

// end::scriptingapi2[]

* `refreshAccountView()`
+
Refreshes the account list after accounts have been added, modified or deleted. This does not activate the account tab.
Expand Down Expand Up @@ -1085,6 +1092,8 @@ Parameters:

'''

// tag::scriptingapi3[]

* `addAccount(name, description) -> Account`
+
Adds an account with the given name and description.
Expand All @@ -1106,6 +1115,8 @@ Parameters:
** The remaining parameters are as in `addAccount`.
** If a parameter is not specified, then the associated property is not changed.

// end::scriptingapi3[]

'''

* `editAccount(nameOrIndex, { name, description }) -> Account`
Expand Down
44 changes: 19 additions & 25 deletions docs/team/thwnus.adoc
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
= Tee Hao Wei - Project Portfolio
= Tee Hao Wei Project Portfolio
:site-section: AboutUs
:imagesDir: ../images
:stylesDir: ../stylesheets
:repoURL: https://github.com/AY1920S1-CS2103T-W13-4/main

== PROJECT: Budget Buddy

Expand All @@ -15,40 +16,29 @@ Budget Buddy benefits users by allowing them to know what they are spending on,

Budget Buddy is based on the AddressBook-Level3 application by SE-EDU, and currently consists of about 15 thousand lines of code.

My main contributions are the scripting engine, import and export feature and alias feature, as well as managing releases and integration of contributions from other team members.
My main contributions are the scripting engine, as well as managing releases and integrating contributions from other team members.

== Summary of contributions

|===
| This section summarises the contributions I made to Budget Buddy.
|===

* *Major enhancement*: added a scripting engine and library
* *Major enhancement*: added a scripting engine and library, as well as script bindings for accounts, transactions and loans
** What: This feature provides the user the ability to evaluate arbitrary scripts which have full access to the data and user interface of the application, and save these scripts in a library for convenient reuse.
** Why: This feature allows the user to perform complex operations that may be inconvenient or impossible to do through the CLI, and extend the application with new commands and features on their own, without having to modify the application's source code directly.
** Highlights: This feature required thought to provide a ergonomic interface to allow scripts to do common operations easily, without restricting scripts from doing more complex operations.
** Highlights: This feature required thought to provide a ergonomic scripting interface to allow scripts to do common operations easily, without restricting scripts from doing more complex operations.
** Credits: This feature is implemented using the Nashorn JavaScript engine, bundled with Java 11.

* *Major enhancement*: added the ability to import and export transactions
** What: This feature provides the user the ability to import and export transactions.
** Why: This feature allows the user to import transactions exported from their bank transaction history and export transactions for further manipulation in an external program, such as Google Sheets or Excel.
** Highlights: This feature required retrieving exports from various banks and writing parsers for each of their formats.
* *Minor enhancement*: enhanced the command result mechanism to allow continuations, such as showing a file picker and performing actions after that; see {repoURL}/pull/170[PR #170].

* *Minor enhancement*: added a command alias feature to allow users to create shorthands

* *Code contributed*: [https://github.com[Functional code]] [https://github.com[Test code]]
* *Code contributed*: See the link:++https://nus-cs2103-ay1920s1.github.io/tp-dashboard/#search=thwnus&tabOpen=true&tabType=authorship&tabAuthor=thwnus&tabRepo=AY1920S1-CS2103T-W13-4%2Fmain[master]++[RepoSense report here].

* *Other contributions*:
** Project management:
*** Managed releases `v1.1` to `v1.3` (4 releases) on GitHub
** Enhancements to existing features:
*** Updated the GUI color scheme; see PRs https://github.com[#33], https://github.com[#34]
*** Wrote additional tests for existing features to increase coverage from 88% to 92%; see PRs https://github.com[#36], https://github.com[#38]
** Documentation:
*** Did cosmetic tweaks to existing contents of the User Guide; see PR https://github.com[#14]
*** Managed releases v1.1 to v1.4 (4 releases) on GitHub
** Community:
*** Reviewed PRs (with non-trivial comments) https://github.com[#12], https://github.com[#32], https://github.com[#19], https://github.com[#42]
*** Rebased PRs #nn, #nn, #nn
*** Helped to rebase and merge PRs, many with non-trivial merge conflicts, including PRs {repoURL}/pull/55[#55], {repoURL}/pull/66[#66], {repoURL}/pull/85[#85], {repoURL}/pull/157[#157], and {repoURL}/pull/162[#162]
** Tools:
*** Integrated Netlify, Coveralls and Codacy to the team repository

Expand All @@ -58,20 +48,24 @@ My main contributions are the scripting engine, import and export feature and al
| This section includes the parts of the user guide that I wrote, to demonstrate my ability to write end-user facing documentation.
|===

include::../UserGuide.adoc[tag=importexport]

include::../UserGuide.adoc[tag=scripting]

include::../UserGuide.adoc[tag=aliases]
|===
| The following is part of the Script API guide that I wrote, to demonstrate my ability to write end-user facing documentation for power users. https://ay1920s1-cs2103t-w13-4.github.io/main/UserGuide.html#scripting-api[See here for the full script API guide.]
|===

include::../UserGuide.adoc[tag=scriptingapi,leveloffset=+1]

include::../UserGuide.adoc[tag=scriptingapi2,leveloffset=+1]

include::../UserGuide.adoc[tag=scriptingapi3,leveloffset=+1]

== Contributions to the Developer Guide

|===
| This section includes the parts of the user guide that I wrote, to demonstrate my ability to write technical documentation and the technical depth of my contributions to the project.
| This section includes the parts of the developer guide that I wrote, to demonstrate my ability to write technical documentation and the technical depth of my contributions to the project.
|===

include::../DeveloperGuide.adoc[tag=importexport]

include::../DeveloperGuide.adoc[tag=scripts]

include::../DeveloperGuide.adoc[tag=aliases]

0 comments on commit 6775e42

Please sign in to comment.