Skip to content
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

[v1.5][F09-B3] CoinBook #62

Open
wants to merge 122 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 23 commits
Commits
Show all changes
122 commits
Select commit Hold shift + click to select a range
cdfa095
Add COMMAND_ALIAS as an attribute to each command.
eldon-chung Mar 8, 2018
946207f
Modify AddressBookParser to recognise Command aliases and modify test…
eldon-chung Mar 8, 2018
898b71a
Update the user guide to mention command aliases
eldon-chung Mar 8, 2018
4d4293d
[#9] Add support for command aliases (#13)
ewaldhew Mar 8, 2018
5608594
Add backupAddressBook method to AddressBookStorage interface
laichengyu Mar 8, 2018
8922b92
Add overloaded backupAddressBook method
laichengyu Mar 8, 2018
d85fbbe
Remove unneeded overloaded method
laichengyu Mar 8, 2018
4078d53
Add backupAddressBook method to StorageManager class
laichengyu Mar 8, 2018
cd403d8
Add backupAddressBook method to XmlAddressBookStorage class
laichengyu Mar 8, 2018
cd24669
Remove trailing whitespaces
laichengyu Mar 8, 2018
2a56b3e
[#12] Add backup API for address book storage (#17)
ewaldhew Mar 9, 2018
b1f1643
[#11] Various UI enhancements (#16)
ewaldhew Mar 9, 2018
ff7335a
v1.0 Documentation (#29)
ewaldhew Mar 14, 2018
bd1f5b8
Update docs images (#32)
ewaldhew Mar 15, 2018
a259c0b
[#23] README.adoc: Add product description (#31)
neilish3re Mar 15, 2018
83ff03a
[#25] Add fetch utility class to obtain data from external APIs (#39)
laichengyu Mar 15, 2018
32b2fc3
[#28] Add news panel (#34)
eldon-chung Mar 15, 2018
674fa0c
[#21] UserGuide: Update user guide to describe the project (#38)
eldon-chung Mar 15, 2018
9faee50
[#22] AboutUs.adoc: Update with own team (#35)
ewaldhew Mar 15, 2018
ae6f59d
[#27] Charts panel component (#33)
ewaldhew Mar 15, 2018
2710200
v1.1: Fix warnings (#42)
ewaldhew Mar 16, 2018
746c28d
Version 1.1 released (#48)
ewaldhew Mar 16, 2018
ca959c7
[#36] Merge browser window (#47)
eldon-chung Mar 16, 2018
52be103
DeveloperGuide.adoc#App.B: Add Feature Contribution (#66)
ewaldhew Mar 19, 2018
2ab8b8f
v1.2 Documentation (#64)
ewaldhew Mar 20, 2018
dab145d
[#41] UsingCheckstyle.adoc: Add crucial step into instructions (#73)
ewaldhew Mar 22, 2018
3d3f6ed
[#40] UserGuide.adoc: Mark features (#76)
eldon-chung Mar 22, 2018
3f643d3
[#40] Add autocomplete to user guide (#75)
laichengyu Mar 22, 2018
9d4b6f2
[#58][#63] Generic URL builder for API calls (#77)
laichengyu Mar 22, 2018
7074714
[#65] v1.2 Documentation: Developer Guide (#67)
ewaldhew Mar 23, 2018
c7db6b8
[#61] Prepare for new feature (#68)
ewaldhew Mar 23, 2018
3725ca3
[#26] Refactor person class (#78)
eldon-chung Mar 23, 2018
6de95fa
Version 1.2 released (#79)
ewaldhew Mar 23, 2018
89ca531
Documentation: Edit for style, Add diagrams (#86)
ewaldhew Mar 25, 2018
929f916
[#26] Change most instances of `Address` to `Coin` (#87)
ewaldhew Mar 28, 2018
266be0d
Relink README, Add UG usage (#100)
ewaldhew Mar 29, 2018
6870d1e
[#46] Add Find command arguments parser (#102)
eldon-chung Mar 29, 2018
730a0da
Change Edit command to Tag command (#98)
ewaldhew Mar 29, 2018
91d7ff7
[#104] BuyCommand: Add new command (#106)
ewaldhew Mar 30, 2018
f26ac68
Version 1.3 released (#107)
ewaldhew Mar 30, 2018
04ef9b9
[#89] Add SyncCommand (#110)
laichengyu Mar 31, 2018
238bb2e
[#111] Merge Lexer.java into ArgumentTokenizer.java (#112)
eldon-chung Mar 31, 2018
83c6a79
Version 1.3b released (#113)
ewaldhew Mar 31, 2018
abec483
Add `buy` command related tests (#108)
ewaldhew Apr 5, 2018
150c34c
[#117] Add multi-word tags (#119)
eldon-chung Apr 5, 2018
d0e5578
[#60] Basic notification add and display window support (#122)
ewaldhew Apr 6, 2018
95c2cf2
v1.4 Documentation (#116)
ewaldhew Apr 6, 2018
ee4675f
[#105] Basic commands (#118)
ewaldhew Apr 6, 2018
0b861c4
Version 1.4 released (#130)
ewaldhew Apr 6, 2018
8857c7e
Fix help messages for commands (#131)
ewaldhew Apr 6, 2018
aa8ee44
Fix broken test (#134)
ewaldhew Apr 6, 2018
45a2d44
Ui.png: Update to v1.4 (#132)
eldon-chung Apr 6, 2018
2dce6a2
[#126] Improve SyncCommand (#133)
laichengyu Apr 6, 2018
6214ed2
Version 1.4 revised (#135)
ewaldhew Apr 6, 2018
5d8dda0
TokenType.java: Refactor prefix token type names. (#141)
eldon-chung Apr 7, 2018
139d497
Coin.java: Refactor get profit, worth and profitability to return Amo…
eldon-chung Apr 7, 2018
b629090
CoinBook: Refactor all instances of Address to Coin (#147)
eldon-chung Apr 7, 2018
4a2ef97
[#46] Add condition generator (#179)
eldon-chung Apr 8, 2018
79cf6dd
[#181] Tag#TAG_VALIDATION_REGEX: Only allow single worded tag names (…
eldon-chung Apr 8, 2018
4714ec0
[#188] Refactor code condition (#189)
eldon-chung Apr 8, 2018
cb61618
[#184] Coin: Revise equals method to only check Code attribute (#185)
eldon-chung Apr 8, 2018
217ace6
[#152] CommandTarget#toIndex: Use getSourceIndex method (#183)
eldon-chung Apr 8, 2018
8edacd8
Fix bugs (#193)
eldon-chung Apr 11, 2018
9b0c9f3
[#194] Add amount condition superclass (#195)
eldon-chung Apr 11, 2018
d74b855
[#57] Add news view (#198)
eldon-chung Apr 12, 2018
154a5f4
[#109] Coin Amounts fixes (#199)
ewaldhew Apr 12, 2018
0144065
ParserUtil: Add warning logging for when Find argument parsing fails …
eldon-chung Apr 12, 2018
b967905
[#88] Notification Center (#201)
ewaldhew Apr 12, 2018
32c7cb0
[#167] Refactor tests - Rename addressbook stuff (#202)
eldon-chung Apr 12, 2018
74a90e2
[#203] Rename address to coin in all commands, parameter names, and s…
eldon-chung Apr 12, 2018
0cc9ad7
Fix targeted commands (#205)
ewaldhew Apr 12, 2018
904c39f
Deal with unused files (#206)
ewaldhew Apr 12, 2018
1906ff7
Refactor sync command (#208)
ewaldhew Apr 12, 2018
302c86d
D2 Documentation (#187)
ewaldhew Apr 12, 2018
20a539f
[#162] Refactor tests part 2 (#211)
eldon-chung Apr 12, 2018
06b2321
[#54] Autocomplete feature (#212)
laichengyu Apr 12, 2018
cdbb185
Update Project Portfolio for neilish3re (#210)
neilish3re Apr 12, 2018
6ca5763
SampleDataUtil: Change Coin names to actual Coin names (#215)
eldon-chung Apr 12, 2018
918aca1
PPP(Eldon-Chung): Add (#213)
eldon-chung Apr 13, 2018
d344041
UserGuide: Add examples (#218)
eldon-chung Apr 13, 2018
ab09b41
[#59] Add generation of coin change events for rule checker (#220)
ewaldhew Apr 13, 2018
d86dc52
SyncCommand: Refactor toString to getAsString during Price constructi…
eldon-chung Apr 13, 2018
25f165e
MainWindow: Make notifications pop-up (#222)
ewaldhew Apr 13, 2018
5fee879
Add Portfolio Page (ewaldhew) (#190)
ewaldhew Apr 13, 2018
9d360f2
PPP(laichengyu): Add (#221)
laichengyu Apr 13, 2018
655c6a0
Version 1.5rc released (#224)
ewaldhew Apr 13, 2018
e5d701e
#92 SortCommand feature (#209)
neilish3re Apr 13, 2018
98ecd48
Refactor CommandList (#227)
laichengyu Apr 13, 2018
44517cd
MainApp: Fix rulebook init (#228)
ewaldhew Apr 14, 2018
c1161ab
Refactor CommandList (#231)
laichengyu Apr 14, 2018
25c246e
[#223] Notifications jump to coin (#232)
ewaldhew Apr 14, 2018
ac3aa71
NotifyCommand: Fix amount change condition matching (#229)
ewaldhew Apr 14, 2018
11a3f39
[#225] Sync data on app startup (#230)
laichengyu Apr 14, 2018
11ecdf3
[#226] Add coin icons to panels (#233)
laichengyu Apr 14, 2018
37aa619
Reduce icon db to 100 items (#239)
laichengyu Apr 14, 2018
e121998
Fix Rule Actions (#240)
ewaldhew Apr 14, 2018
2aa57cd
[#126] Add loading ui (#241)
laichengyu Apr 14, 2018
53d69fb
Update dev guide, user guide and PPP (#234)
neilish3re Apr 14, 2018
4987787
Add UrlBuilderTests (#242)
laichengyu Apr 14, 2018
e2ea134
Notifications: Add tests (#243)
ewaldhew Apr 14, 2018
b0f86ec
Amount: Disallow negative, Better print (#244)
ewaldhew Apr 14, 2018
3670543
Add authorship (#246)
laichengyu Apr 14, 2018
a541e8c
Add FetchUtil tests (#245)
laichengyu Apr 14, 2018
5c6f2b7
MainApp: Add tests (#249)
laichengyu Apr 14, 2018
c55008c
SyncCommand: Add tests (#247)
laichengyu Apr 14, 2018
63305b1
Remove unused methods (#248)
laichengyu Apr 14, 2018
d76ff01
Notification Conditions: Fix calculations, Remove useless (#250)
ewaldhew Apr 15, 2018
948c58c
Attempt to fix coveralls badge (#253)
laichengyu Apr 15, 2018
40f0708
Edit Async fetch comments (#251)
laichengyu Apr 15, 2018
dc16761
[#57] Charts Panel (#256)
ewaldhew Apr 15, 2018
2d53f8c
UGDG/PPP(laichengyu): Update (#259)
laichengyu Apr 15, 2018
df4c76d
DevGuide update (#261)
laichengyu Apr 15, 2018
4110863
Documentation updates (Notifications) (#260)
ewaldhew Apr 15, 2018
02ad6f1
Update User Guide, Dev Guide and PPP (#257)
neilish3re Apr 15, 2018
0ae352a
Fix UG typos (#264)
laichengyu Apr 15, 2018
1aab1a7
Beautify App (#263)
ewaldhew Apr 15, 2018
f2ea6c3
Include sync feature in DG (#266)
laichengyu Apr 15, 2018
9ad2d77
Final edits (#267)
ewaldhew Apr 15, 2018
794dcbd
SyncCommand: Prevent crash when internet connection out (#268)
ewaldhew Apr 15, 2018
af3937c
Final PPP (#269)
ewaldhew Apr 15, 2018
42fe647
Fill in final missing documentation (#270)
ewaldhew Apr 15, 2018
d5062fe
Version 1.5 released (#271)
ewaldhew Apr 15, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 27 additions & 13 deletions README.adoc
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
= Address Book (Level 4)
ifdef::env-github,env-browser[:relfileprefix: docs/]

https://travis-ci.org/se-edu/addressbook-level4[image:https://travis-ci.org/se-edu/addressbook-level4.svg?branch=master[Build Status]]
https://ci.appveyor.com/project/damithc/addressbook-level4[image:https://ci.appveyor.com/api/projects/status/3boko2x2vr5cc3w2?svg=true[Build status]]
https://coveralls.io/github/se-edu/addressbook-level4?branch=master[image:https://coveralls.io/repos/github/se-edu/addressbook-level4/badge.svg?branch=master[Coverage Status]]
https://www.codacy.com/app/damith/addressbook-level4?utm_source=github.com&utm_medium=referral&utm_content=se-edu/addressbook-level4&utm_campaign=Badge_Grade[image:https://api.codacy.com/project/badge/Grade/fc0b7775cf7f4fdeaf08776f3d8e364a[Codacy Badge]]
https://gitter.im/se-edu/Lobby[image:https://badges.gitter.im/se-edu/Lobby.svg[Gitter chat]]
https://travis-ci.org/CS2103JAN2018-F09-B3/main[image:https://travis-ci.org/CS2103JAN2018-F09-B3/main.svg?branch=master[Build Status]]
https://ci.appveyor.com/project/ewaldhew/main[image:https://ci.appveyor.com/api/projects/status/anm4ynat6657reac?svg=true[Build Status]]
https://coveralls.io/github/CS2103JAN2018-F09-B3/main?branch=master[image:https://coveralls.io/repos/github/CS2103JAN2018-F09-B3/main/badge.svg?branch=master[Coverage Status]]
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good to see you've updated these.


ifdef::env-github[]
image::docs/images/Ui.png[width="600"]
Expand All @@ -15,24 +13,40 @@ ifndef::env-github[]
image::images/Ui.png[width="600"]
endif::[]

* This is a desktop Address Book application. It has a GUI but most of the user interactions happen using a CLI (Command Line Interface).
* It is a Java sample application intended for students learning Software Engineering while using Java as the main programming language.
* It is *written in OOP fashion*. It provides a *reasonably well-written* code example that is *significantly bigger* (around 6 KLoC)than what students usually write in beginner-level SE modules.
* What's different from https://github.com/se-edu/addressbook-level3[level 3]:
** A more sophisticated GUI that includes a list panel and an in-built Browser.
** More test cases, including automated GUI testing.
** Support for _Build Automation_ using Gradle and for _Continuous Integration_ using Travis CI.
** This is a desktop Crypto Currency management portfolio called CoinBook

** Meant for storing and keeping track of one’s cryptocurrency records

** Has a GUI but most of the user interactions happen using CLI (Command Line Interface)

** Java application targeted at businessmen or investors who trade heavily and actively in cryptocurrency coins

** Helps user to keep track of trades for multiple coins; useful for frequent trading

** Provides decision making stats to equip user with the information necessary to trade

** User won't have to check patterns and statistics on another platform other than the CoinBook

** Displays price history of coin --> Allows user to see price changes over time

** View current price of crypto coin (based on 24 hour average) and the profit/loss the user stands to make if he sold the coin at the current moment

** Various statistics to aid decision making such as Relative Strength Index(RSI) and Moving average convergence divergence (MACD) charts

** Newsfeed for user to follow the news and happenings surrounding the coin

** Allows the user to compare the price history based on newsfeed of any given coin.

== Site Map

* <<UserGuide#, User Guide>>
* <<DeveloperGuide#, Developer Guide>>
* <<LearningOutcomes#, Learning Outcomes>>
* <<AboutUs#, About Us>>
* <<ContactUs#, Contact Us>>

== Acknowledgements

* Based off the AddressBook-Level4 project, a software project for students learning Software Engineering with Java as the main programming language. Created by the SE-EDU initiative at https://github.com/se-edu/.
* Some parts of this sample application were inspired by the excellent http://code.makery.ch/library/javafx-8-tutorial/[Java FX tutorial] by
_Marco Jakob_.
* Libraries used: https://github.com/TomasMikula/EasyBind[EasyBind], https://github.com/TestFX/TestFX[TextFX], https://bitbucket.org/controlsfx/controlsfx/[ControlsFX], https://github.com/FasterXML/jackson[Jackson], https://github.com/google/guava[Guava], https://github.com/junit-team/junit4[JUnit4]
Expand Down
2 changes: 1 addition & 1 deletion appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
# --no-daemon: Prevent the daemon from launching to prevent file-in-use errors
# when we cache the ~/.gradle directory
build_script:
- gradlew.bat --no-daemon assemble checkstyleMain checkstyleTest
- gradlew.bat --no-daemon fixWhitespace assemble checkstyleMain checkstyleTest

test_script:
- appveyor-retry gradlew.bat --no-daemon headless allTests
Expand Down
24 changes: 24 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,30 @@ repositories {
maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
}

task makeTempFiles(type: Copy) {
from 'docs'
into 'temp'
include '**/*.adoc'
include '**/*.css'
}

task fixWhitespace(type: Copy) {
from 'temp'
into 'docs'
include '**/*.adoc'
include '**/*.css'
filter { String line ->
line.replaceAll(/ +$/, '')
}
}

task deleteTempFiles(type: Delete) {
delete 'temp'
}

fixWhitespace.dependsOn makeTempFiles
fixWhitespace.finalizedBy deleteTempFiles

checkstyle {
toolVersion = '8.1'
}
Expand Down
1 change: 1 addition & 0 deletions config/checkstyle/suppressions.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,5 @@

<suppressions>
<suppress checks="JavadocType" files=".*Test\.java"/>
<suppress checks="MemberNameCheck" files="CryptoCompareHistoHourObject.java" />
</suppressions>
4 changes: 2 additions & 2 deletions config/travis/check-trailing-whitespace.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@ awk '
ret = 0
}
{
# Only warn for markdown files (*.md) to accomodate text editors
# Only warn for asciidoc files (*.adoc) to accomodate text editors
# which do not properly handle trailing whitespace.
# (e.g. GitHub web editor)
if ($1 ~ /\.md$/) {
if ($1 ~ /\.adoc$/) {
severity = "WARN"
} else {
severity = "ERROR"
Expand Down
50 changes: 21 additions & 29 deletions docs/AboutUs.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -3,53 +3,45 @@
:imagesDir: images
:stylesDir: stylesheets

AddressBook - Level 4 was developed by the https://se-edu.github.io/docs/Team.html[se-edu] team. +
_{The dummy content given below serves as a placeholder to be used by future forks of the project.}_ +
{empty} +
CoinBook is developed by the CS2103JAN2018-F09-B3 team. This project is based off +
AddressBook - Level 4, which was developed by the https://se-edu.github.io/docs/Team.html[se-edu] team.

We are a team based in the http://www.comp.nus.edu.sg[School of Computing, National University of Singapore].

== Project Team

=== John Doe
image::damithc.jpg[width="150", align="left"]
{empty}[http://www.comp.nus.edu.sg/~damithch[homepage]] [https://github.com/damithc[github]] [<<johndoe#, portfolio>>]
=== Eldon Chung
image::eldon-chung.png[width="150", align="left"]
{empty}[https://github.com/Eldon-Chung[github]] [<<eldon-chung#, portfolio>>]

Role: Project Advisor
Role: Developer +
Responsibilities: Documentation, Logic

'''

=== John Roe
image::lejolly.jpg[width="150", align="left"]
{empty}[http://github.com/lejolly[github]] [<<johndoe#, portfolio>>]
=== Ewald Hew
image::ewaldhew.png[width="150", align="left"]
{empty}[http://github.com/ewaldhew[github]] [<<ewaldhew#, portfolio>>]

Role: Team Lead +
Role: Developer, Scheduling and tracking +
Responsibilities: UI

'''

=== Johnny Doe
image::yijinl.jpg[width="150", align="left"]
{empty}[http://github.com/yijinl[github]] [<<johndoe#, portfolio>>]
=== Lai Cheng Yu
image::laichengyu.png[width="150", align="left"]
{empty}[http://github.com/laichengyu[github]] [<<laichengyu#, portfolio>>]

Role: Developer +
Responsibilities: Data
Role: Developer, Code quality +
Responsibilities: Integration

'''

=== Johnny Roe
image::m133225.jpg[width="150", align="left"]
{empty}[http://github.com/m133225[github]] [<<johndoe#, portfolio>>]
=== Neil Mehta
image::neilish3re.png[width="150", align="left"]
{empty}[http://github.com/neilish3re[github]] [<<neilish3re#, portfolio>>]

Role: Developer +
Responsibilities: Dev Ops + Threading

'''

=== Benson Meier
image::yl_coder.jpg[width="150", align="left"]
{empty}[http://github.com/yl-coder[github]] [<<johndoe#, portfolio>>]

Role: Developer +
Responsibilities: UI
Responsibilities: Model

'''
Loading