Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
481 commits
Select commit Hold shift + click to select a range
c4a78ec
Add Javadoc for DashboardPanel
harun-abdullah Oct 23, 2025
130be91
Add sortbypaid command functionality
ArunV2048 Oct 23, 2025
e57567f
Fix Checkstyle violations
ArunV2048 Oct 23, 2025
478355b
Edit FXML for DashboardPanel
harun-abdullah Oct 23, 2025
716b976
Enable DashboardPanel to be shown on startup
harun-abdullah Oct 23, 2025
edbbfa8
Update documentation for sortbypaid command
ArunV2048 Oct 23, 2025
ee397ba
Merge pull request #97 from harun-abdullah/dgupdate
harun-abdullah Oct 23, 2025
f997b6e
Add SortByDeadline functionality
adibice1 Oct 23, 2025
b55ba89
Merge pull request #98 from harun-abdullah/ui-changes-v1.4
harun-abdullah Oct 23, 2025
631a89e
Add SortByDeadline tests
adibice1 Oct 23, 2025
dab3a2b
Add comprehensive UML diagrams for sortbypaid command
ArunV2048 Oct 23, 2025
e5e9f27
Fix trailing whitespace in PlantUML and Markdown files
ArunV2048 Oct 23, 2025
64402bd
Swap position of Help and Exit buttons in Sidebar
harun-abdullah Oct 23, 2025
e044a11
Merge pull request #100 from ArunV2048/add-sortbypaid-command
ArunV2048 Oct 23, 2025
7e0f097
Merge pull request #102 from ArunV2048/update-documentation-sortbypaid
ArunV2048 Oct 23, 2025
dd0277f
Merge pull request #105 from ArunV2048/add-uml-diagrams-sortbypaid
ArunV2048 Oct 23, 2025
85ae52d
Edit for checkstyle tests
adibice1 Oct 23, 2025
46c42ff
Merge branch 'master' into Add-SortByDeadline
adibice1 Oct 23, 2025
8414505
Fix inconsistent button styling
harun-abdullah Oct 23, 2025
f3fba59
Merge branch 'master' into ui-changes-v1.4
harun-abdullah Oct 23, 2025
7c384c9
Fix whitespace error
adibice1 Oct 23, 2025
1fee735
Fix whitespace error
adibice1 Oct 23, 2025
9fb0481
Update addcommandtest bug
adibice1 Oct 23, 2025
03ca0e6
Fix bugs
adibice1 Oct 23, 2025
2b7cec9
Fix bugs
adibice1 Oct 23, 2025
15b735b
Add comparator import
adibice1 Oct 23, 2025
fc7b2c4
Merge pull request #103 from adibice1/Add-SortByDeadline
adibice1 Oct 23, 2025
f6b8ad5
Update help and session in UserGuide.md
darisusu Oct 23, 2025
b50a104
Merge pull request #106 from darisusu/help-userguide-branch
darisusu Oct 23, 2025
f383d1e
Edit uml diagrams
adibice1 Oct 23, 2025
b6bfa7c
Merge pull request #107 from adibice1/master
adibice1 Oct 23, 2025
4dba6be
Edit UG to include sortbydeadline
adibice1 Oct 23, 2025
87fa49b
Merge pull request #109 from adibice1/edit-UG
adibice1 Oct 23, 2025
6a191e5
Add dependency to display tables in HelpWindow
harun-abdullah Oct 24, 2025
38c3cd1
Enable table display and add styling for tables
harun-abdullah Oct 24, 2025
ddc06a8
Edit styling for HelpWindow to match the main app
harun-abdullah Oct 24, 2025
b147472
Fix Checkstyle errors
harun-abdullah Oct 24, 2025
a05f221
Fix bug in SessionTest
harun-abdullah Oct 24, 2025
834c8cb
Add sortbydeadline guide to CommandReference
harun-abdullah Oct 24, 2025
1acc354
Merge pull request #110 from harun-abdullah/ui-changes-v1.4
harun-abdullah Oct 24, 2025
b999c98
Extract Client and Dashboard button functions
harun-abdullah Oct 24, 2025
1b28938
Refactor CommandResult
harun-abdullah Oct 24, 2025
5ba6149
Create new Dashboard and Client Commands
harun-abdullah Oct 24, 2025
f357997
Fully integrate new Commands
harun-abdullah Oct 24, 2025
3c7ab60
Fix existing tests using CommandResult
harun-abdullah Oct 24, 2025
3f7ca61
Fix checkstyle errors
harun-abdullah Oct 24, 2025
f063f10
Add test for DashboardCommand
harun-abdullah Oct 24, 2025
24ddbd3
Add test for ClientCommand
harun-abdullah Oct 24, 2025
de44f8e
Fix checkstyle error for ClientCommandTest
harun-abdullah Oct 24, 2025
f68a253
Merge pull request #111 from harun-abdullah/ui-v1.5
harun-abdullah Oct 24, 2025
69ea71f
Tweak UG
adibice1 Oct 26, 2025
43cab02
Merge pull request #114 from adibice1/edit-UG
harun-abdullah Oct 26, 2025
2716746
Add new dashboard and client commands to UG
harun-abdullah Oct 26, 2025
9aa6d0b
Update command summary in UG
harun-abdullah Oct 26, 2025
6be4f05
edit userguide
eltry42 Oct 26, 2025
f05125d
Fix: update Jackson dependencies to resolve JAR issue
darisusu Oct 27, 2025
c3930c6
Update JsonUtil to match
darisusu Oct 27, 2025
3bcaadf
Update checkstyle import
darisusu Oct 27, 2025
6dd4fc3
Resolve path gradle error
darisusu Oct 27, 2025
4065271
Resolve JsonUtil toJsonString assertion
darisusu Oct 27, 2025
93eb201
Merge pull request #118 from darisusu/fix/dropbox-flag
darisusu Oct 27, 2025
f2b8383
Update version number for release
darisusu Oct 27, 2025
6d824ae
Edit some examples
adibice1 Oct 28, 2025
cf6709b
Add upcoming payment status on dashboard
adibice1 Oct 28, 2025
e459a24
Add right panel functionality
adibice1 Oct 28, 2025
d6ff0c4
Fix some bugs in the right panel display and Goal prefix
adibice1 Oct 28, 2025
ff2ca84
Edit checkstyle
adibice1 Oct 28, 2025
0d0f52c
Merge pull request #125 from adibice1/edit-Ui
adibice1 Oct 28, 2025
d0b67ec
Add getNextOccurence method in Session
harun-abdullah Oct 29, 2025
93b0be9
Create and implement PersonSessionComparator
harun-abdullah Oct 29, 2025
3998a13
Fix checkstyle errors
harun-abdullah Oct 29, 2025
1fe53ef
Add SortBySessionCommandTest
harun-abdullah Oct 29, 2025
f3c90a4
Merge pull request #132 from harun-abdullah/sortsessions
harun-abdullah Oct 29, 2025
025fbd3
Merge pull request #115 from harun-abdullah/ug
harun-abdullah Oct 29, 2025
82e01a0
Require mandatory fields for add command
eltry42 Oct 29, 2025
20b1a3b
Merge pull request #2 from eltry42/codex/add-commands-for-session-field
eltry42 Oct 29, 2025
c464594
Resolve contextwindow issue
darisusu Oct 29, 2025
253d73d
fix checkstyle
eltry42 Oct 29, 2025
12d345e
Include optional goal when generating add command
eltry42 Oct 29, 2025
df852d7
Merge pull request #3 from eltry42/codex/add-unit-test-for-parsecomma…
eltry42 Oct 29, 2025
86f2fd3
Treat missing goal input as empty goal
eltry42 Oct 29, 2025
bc380f8
Merge branch 'master' into codex/add-unit-test-for-parsecommand-add-g…
eltry42 Oct 29, 2025
8d56566
Merge pull request #4 from eltry42/codex/add-unit-test-for-parsecomma…
eltry42 Oct 29, 2025
672699c
fix test
eltry42 Oct 29, 2025
b3f7c65
Merge pull request #139 from eltry42/master
eltry42 Oct 29, 2025
1779f2f
Refine uml
darisusu Oct 29, 2025
7058c48
Merge branch 'master' of https://github.com/AY2526S1-CS2103T-F09-4/tp…
darisusu Oct 29, 2025
5e33a69
Refine uml with new fields
darisusu Oct 29, 2025
c0247f3
Merge branch 'uml-branch'
darisusu Oct 29, 2025
f44e47a
Add dedicated sessions panel
harun-abdullah Oct 29, 2025
3ff399b
Create custom sessionslist and card
harun-abdullah Oct 29, 2025
1af4c98
Fix checkstyle errors
harun-abdullah Oct 29, 2025
b8b6c27
Create DeadlineCard for Unpaid trainees list
harun-abdullah Oct 29, 2025
97f4db3
Implement custom card and list for Deadline list
harun-abdullah Oct 29, 2025
fbb8281
Add indexes to dashboard list cards
harun-abdullah Oct 29, 2025
e2d2c8f
Rename list in Dashboard to Unpaid Clients
harun-abdullah Oct 29, 2025
270efff
Merge pull request #148 from harun-abdullah/ui-v1.5
harun-abdullah Oct 29, 2025
78c0311
Update User Guide based on peer review feedback
ArunV2048 Oct 29, 2025
d758780
Merge pull request #151 from ArunV2048/update-ug-clean
ArunV2048 Oct 29, 2025
8bb18f1
Replace WebView help renderer with cross-platform UI
darisusu Oct 29, 2025
8557619
Simplify HelpWindow command reference rendering
darisusu Oct 29, 2025
2e6411c
Restore web-based help window
darisusu Oct 29, 2025
c2ebaa4
Simplify help window to static link
darisusu Oct 29, 2025
27ce241
Merge pull request #155 from darisusu/master
darisusu Oct 29, 2025
3406b03
Fix bodyfat bug
harun-abdullah Oct 29, 2025
6f0c847
Update help link
darisusu Oct 29, 2025
a872126
Remove unused commandreference
darisusu Oct 29, 2025
93bcb0a
Fix GoalCommandParser bug
harun-abdullah Oct 29, 2025
7916a7b
Remove unused imports
harun-abdullah Oct 29, 2025
b1859b8
Add tests for BodyfatCommand
harun-abdullah Oct 29, 2025
e8256df
Add New UserGuide
darisusu Oct 29, 2025
e7dacf2
Edit deadline valid dates
adibice1 Oct 29, 2025
ae3bb09
Merge pull request #160 from darisusu/refine-help-ug-branch
darisusu Oct 29, 2025
4f59fbd
Add tests for PaidCommand
harun-abdullah Oct 29, 2025
c25a310
Edit checkstyle errors
adibice1 Oct 29, 2025
65af5e0
Fix checkstyle error
harun-abdullah Oct 29, 2025
f66ff00
Edit checkstyle
adibice1 Oct 29, 2025
277f374
Add tests for GenderCommand
harun-abdullah Oct 29, 2025
5e5bdb2
Fix test cases
adibice1 Oct 29, 2025
bfa9f6a
Add tests for AgeCommand
harun-abdullah Oct 29, 2025
c330ef3
Edit checkstyle
adibice1 Oct 29, 2025
a9dabf1
Fix checkstyle errors
harun-abdullah Oct 29, 2025
48e349c
Merge pull request #161 from adibice1/edit-Deadline
adibice1 Oct 29, 2025
9a234d9
Merge branch 'master' into bugfix
harun-abdullah Oct 29, 2025
947c467
Add upper and lower limit for Weight class
harun-abdullah Oct 29, 2025
b620faa
Merge pull request #157 from harun-abdullah/bugfix
harun-abdullah Oct 29, 2025
dc2a7c0
Merge master into dgupdate
harun-abdullah Oct 30, 2025
615076f
Add new UI components to UML
harun-abdullah Oct 30, 2025
8a3534a
Merge pull request #169 from harun-abdullah/dgupdate
harun-abdullah Oct 30, 2025
1501c48
Add sortbysession command to user guide
harun-abdullah Oct 30, 2025
d550aed
Standardise use of term client over trainee in UG
harun-abdullah Oct 30, 2025
c6e17e1
Add constraints for individual attributes to UG
harun-abdullah Oct 30, 2025
07aca87
Add dedicated UI guide to UG
harun-abdullah Oct 30, 2025
15e1b5b
Merge pull request #171 from harun-abdullah/dgupdate
harun-abdullah Oct 30, 2025
78abba4
Refine ug
darisusu Oct 30, 2025
27e398c
Merge pull request #173 from darisusu/refine-UG-new-branch
darisusu Oct 30, 2025
5169e11
Add DG
darisusu Oct 30, 2025
05cfe6c
Add warning box
darisusu Oct 30, 2025
859138c
Fixed a couple of alpha-bugs
ArunV2048 Oct 30, 2025
6a286c0
Parser fixes: trim whitespace and allow clearing for age; trim for we…
ArunV2048 Oct 30, 2025
f4fd70f
Merge pull request #174 from ArunV2048/fix-alpha-bugs
ArunV2048 Oct 30, 2025
51e2a4a
Height: enforce 50–250 cm integer range; update constraints text
ArunV2048 Oct 30, 2025
730fe6a
Set height limit
ArunV2048 Oct 30, 2025
751abe9
Update height limit between 50 and 300
darisusu Oct 30, 2025
f585896
Merge pull request #176 from darisusu/setheightlimit-branch
darisusu Oct 30, 2025
05f8289
Revert "Height: enforce 50–250 cm integer range; update constraints t…
ArunV2048 Oct 30, 2025
2481d4c
Revert "Set height limit"
ArunV2048 Oct 30, 2025
3631fc8
Merge pull request #177 from ArunV2048/revert-height-limits
ArunV2048 Oct 30, 2025
8ff6b74
Revert "Revert height limits"
ArunV2048 Oct 30, 2025
b10d32c
Merge pull request #178 from AY2526S1-CS2103T-F09-4/revert-177-revert…
ArunV2048 Oct 30, 2025
9ef144e
test: add coverage for session comparator and parsers
darisusu Oct 30, 2025
bd64d51
add tests
darisusu Oct 30, 2025
c392725
Seperate line
darisusu Oct 30, 2025
465e775
Merge pull request #180 from darisusu/missingtests-branch
darisusu Oct 30, 2025
07549bd
Separate lines
darisusu Oct 30, 2025
7a2a0a0
Refine with hyperlinks, table of commands, command summary
darisusu Oct 30, 2025
fe9193a
Add help and find screenshots
darisusu Oct 30, 2025
ddac461
Add warning
darisusu Oct 30, 2025
0c81073
Merge pull request #181 from darisusu/update-UG-and-slash-branch
darisusu Oct 30, 2025
b9f0be8
tests(parser): add GenderCommandParser tests; trim via ParserUtil
ArunV2048 Oct 30, 2025
09e9ef7
Application throws appropriate error for out-of-range dates
ArunV2048 Oct 30, 2025
aa70a24
Merge pull request #183 from ArunV2048/fix-alpha-bugs-3
ArunV2048 Oct 30, 2025
9358d71
Edit UG slightly
adibice1 Oct 30, 2025
038c4da
Add sortbysessioncommandparser and test
adibice1 Oct 30, 2025
89be202
Edit list such that it switches to client tab if on dashboard
adibice1 Oct 30, 2025
3c25b4d
Edit checkstyle
adibice1 Oct 30, 2025
d3a9abe
Edit DG
adibice1 Oct 30, 2025
d9897fc
Edit DG
adibice1 Oct 30, 2025
0631e30
Edit UG slightly
adibice1 Oct 30, 2025
1a4009a
Merge pull request #184 from adibice1/edit-Docs
adibice1 Oct 30, 2025
1294331
change ug
eltry42 Oct 30, 2025
cdb6beb
Merge branch 'master' into update-ug
eltry42 Oct 30, 2025
d1ec1a9
Merge pull request #185 from eltry42/update-ug
eltry42 Oct 30, 2025
cda2829
Add minor changes
harun-abdullah Oct 31, 2025
203866a
Merge pull request #186 from harun-abdullah/dgupdate
harun-abdullah Oct 31, 2025
f059dd0
Sort commands now swtich over to client list page
adibice1 Nov 3, 2025
020d2ec
Update sort command descriptions in UG
adibice1 Nov 3, 2025
565d177
Update deadline card UI
adibice1 Nov 3, 2025
b300026
Update add deadline success message
adibice1 Nov 3, 2025
843bf0a
Add unchanged deadline message if deadline is the same
adibice1 Nov 3, 2025
2ab32bf
Update deadline date validation
adibice1 Nov 3, 2025
b538478
Edit checkstyle
adibice1 Nov 3, 2025
44e2672
Edit find command description in UG
adibice1 Nov 3, 2025
c34f162
Merge pull request #255 from adibice1/edit-pe
darisusu Nov 3, 2025
cf5de43
Add schedule example to add
darisusu Nov 3, 2025
75d7ad9
Add s/session for edit UG
darisusu Nov 3, 2025
59cf4fd
Update constraints of updating indiv attrib
darisusu Nov 3, 2025
b2a5705
Standardize help example constraints in UG
darisusu Nov 3, 2025
dadd20c
Update link displayed in help
darisusu Nov 3, 2025
a9da5cb
Update helpmessage png
darisusu Nov 3, 2025
3b0ee59
Merge pull request #256 from darisusu/PE-issues-branch
darisusu Nov 3, 2025
5d7daf7
Add image
darisusu Nov 3, 2025
81f2c40
Capitalise attribute index prefix
darisusu Nov 3, 2025
eb7e880
Fix anchor linking in UG
darisusu Nov 3, 2025
fe81dd6
Combine client and list
darisusu Nov 3, 2025
0079117
Merge pull request #257 from darisusu/new-changes-pe-branch
darisusu Nov 3, 2025
694f27d
Gender only shows full form
darisusu Nov 3, 2025
1e58f8b
Update UG to reflect new gender formatting
darisusu Nov 3, 2025
c8a2430
Update UI to show fitbook instead of Addressbook
darisusu Nov 3, 2025
2552049
Merge pull request #258 from darisusu/gender-full-branch
darisusu Nov 3, 2025
f0eb78d
Update phone only 8 digits accepted
darisusu Nov 3, 2025
2a9b423
Merge pull request #259 from darisusu/phone-branch
darisusu Nov 3, 2025
4cf88ac
Remove functionality of jumping to commands from summary in UG
darisusu Nov 3, 2025
a2dc567
Update formatting in UG
darisusu Nov 3, 2025
2917ce4
Fix single-word command bug
harun-abdullah Nov 3, 2025
8dedc62
Fix checkstyle errors
harun-abdullah Nov 3, 2025
594a785
Adjust test cases for AddressBookParser
harun-abdullah Nov 3, 2025
5bdb770
Changed messages stringbuilder
adibice1 Nov 3, 2025
86a6f05
Fix checkstyle errors for tests
harun-abdullah Nov 3, 2025
9547556
Merge pull request #261 from harun-abdullah/bugfix
harun-abdullah Nov 3, 2025
1bde81f
Fix bug in EditCommand
harun-abdullah Nov 3, 2025
1ee05ef
Merge pull request #262 from adibice1/edit-pe
adibice1 Nov 3, 2025
c7978df
Merge branch 'master' into bugfix
harun-abdullah Nov 3, 2025
d5db32a
Unknown prefixes will now throw error when adding person
adibice1 Nov 3, 2025
c1a1c39
Fix bug with GoalCommand
harun-abdullah Nov 3, 2025
899b419
Fix duplicate prefix bug
harun-abdullah Nov 3, 2025
8230990
Uknown prefix throws error in add and edit commands
adibice1 Nov 3, 2025
24aaf22
Edit checkstyle
adibice1 Nov 3, 2025
a203134
Merge pull request #264 from adibice1/edit-pe
adibice1 Nov 3, 2025
18bd269
Clarify limit boundaries for Weight and Height
harun-abdullah Nov 3, 2025
f7941a3
Edit constraint message for Weight
harun-abdullah Nov 3, 2025
6453a7a
Merge branch 'master' into bugfix
harun-abdullah Nov 3, 2025
17adc92
Add JavaDocs to PrefixGuards
harun-abdullah Nov 3, 2025
39a91fc
Merge pull request #263 from harun-abdullah/bugfix
harun-abdullah Nov 3, 2025
1250b3f
Edit FitBook.json
adibice1 Nov 3, 2025
e4a946f
Merge pull request #265 from adibice1/edit-pe
adibice1 Nov 3, 2025
b2a3631
Clarify gender values are case-insensitive in the user gide
ArunV2048 Nov 4, 2025
e084e96
Merge pull request #267 from ArunV2048/fix-ped-bugs-1
ArunV2048 Nov 4, 2025
f69bafb
Add images to UI Guide
harun-abdullah Nov 4, 2025
730d137
Delete unused images
harun-abdullah Nov 4, 2025
4b986f8
Clarify index usage in CommandReference
harun-abdullah Nov 4, 2025
6d9d60e
Merge pull request #268 from harun-abdullah/ug
harun-abdullah Nov 4, 2025
5b941c0
Add specific message when find command returns no result
harun-abdullah Nov 4, 2025
20d431f
Edit UC05
harun-abdullah Nov 4, 2025
8282ff8
Edit FindCommandTest
harun-abdullah Nov 4, 2025
ecd70b1
Merge pull request #269 from harun-abdullah/bugfix
harun-abdullah Nov 4, 2025
3d534b0
Merge pull request #270 from harun-abdullah/dgupdate
harun-abdullah Nov 4, 2025
eeb7a67
fix issues
eltry42 Nov 4, 2025
22376d1
Merge branch 'master' into master
eltry42 Nov 4, 2025
3243cb7
fix issues
eltry42 Nov 4, 2025
dba0fb0
Merge remote-tracking branch 'origin/master'
eltry42 Nov 4, 2025
4352bca
Merge pull request #272 from eltry42/master
eltry42 Nov 4, 2025
d2c4fae
Add point for planned enhancement
harun-abdullah Nov 4, 2025
538269d
Add point for planned enhancement
harun-abdullah Nov 4, 2025
f67dba8
Merge pull request #273 from harun-abdullah/dgupdate
harun-abdullah Nov 4, 2025
7be6789
Fix PE-D documentation bugs and UML diagram issues
ArunV2048 Nov 4, 2025
c403c1a
Merge branch 'master' into update-dg
ArunV2048 Nov 4, 2025
d518ace
Merge pull request #274 from ArunV2048/update-dg
ArunV2048 Nov 4, 2025
e804b32
faq and known issues in UG
adibice1 Nov 4, 2025
ae8a8f0
Merge pull request #275 from adibice1/edit-pe
adibice1 Nov 4, 2025
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
25 changes: 25 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: MarkBind Action

on:
push:
branches:
- master

jobs:
build_and_deploy:
runs-on: ubuntu-latest
steps:
- name: Install Graphviz
run: sudo apt-get install graphviz
- name: Install Java
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'zulu'
- name: Build & Deploy MarkBind site
uses: MarkBind/markbind-action@v2
with:
token: ${{ secrets.GITHUB_TOKEN }}
rootDirectory: './docs'
baseUrl: '/tp' # assuming your repo name is tp
version: '^6.0.2'
8 changes: 0 additions & 8 deletions .github/workflows/gradle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,6 @@ jobs:
- name: Set up repository
uses: actions/checkout@main

- name: Set up repository
uses: actions/checkout@main
with:
ref: master

- name: Merge to master
run: git checkout --progress --force ${{ github.sha }}

- name: Run repository-wide tests
if: runner.os == 'Linux'
working-directory: ${{ github.workspace }}/.github
Expand Down
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,11 @@ src/test/data/sandbox/
# MacOS custom attributes files created by Finder
.DS_Store
docs/_site/
docs/_markbind/logs/

# Release bundles (too large for git)
release/
*.zip
**/javafx/lib/

data/fitbook.json
31 changes: 23 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,29 @@
[![CI Status](https://github.com/se-edu/addressbook-level3/workflows/Java%20CI/badge.svg)](https://github.com/se-edu/addressbook-level3/actions)
[![CI Status](https://github.com/AY2526S1-CS2103T-F09-4/tp/workflows/Java%20CI/badge.svg)](https://github.com/AY2526S1-CS2103T-F09-4/tp/actions)

![Ui](docs/images/Ui.png)

* This is **a sample project for Software Engineering (SE) students**.<br>
# FitBook

* This is **FitBook**
Example usages:
* as a starting point of a course project (as opposed to writing everything from scratch)
* as a case study
* The project simulates an ongoing software project for a desktop application (called _AddressBook_) used for managing contact details.
* It is **written in OOP fashion**. It provides a **reasonably well-written** code base **bigger** (around 6 KLoC) than what students usually write in beginner-level SE modules, without being overwhelmingly big.
* as a starting point of a course project (instead of building everything from scratch)
* as a case study in software engineering

* This is an ongoing software project for a desktop application (called _FitBook_) used by **personal trainers** for managing their clients' information.
* It is **written in OOP fashion**. It provides a **reasonably well-written** code base (around 6 KLoC) that is larger than what students usually write in beginner-level SE modules, while still being approachable.
* It comes with a **reasonable level of user and developer documentation**.
* It is named `AddressBook Level 3` (`AB3` for short) because it was initially created as a part of a series of `AddressBook` projects (`Level 1`, `Level 2`, `Level 3` ...).
* For the detailed documentation of this project, see the **[Address Book Product Website](https://se-education.org/addressbook-level3)**.

* FitBook is designed for **personal trainers** who need to keep track of:
* **Client sessions** – schedule and record training sessions
* **Payments** – monitor and log client payments
* **Body Statistics** – track progress such as weight, body fat %, and strength levels
* **Medical Notes** – record important health considerations to personalize training safely

* It is named `FitBook` because it is an evolution of the `AddressBook` project from the SE-EDU initiative, extended and adapted to the fitness domain.

* For the detailed documentation of the original project, see the **[Address Book Product Website](https://se-education.org/addressbook-level3)**.
* While FitBook has diverged in domain and features, it retains the same solid engineering foundations.

* This project is a **part of the se-education.org** initiative. If you would like to contribute code to this project, see [se-education.org](https://se-education.org/#contributing-to-se-edu) for more info.

* FitBook is based on the AddressBook-Level3 project created by the [SE-EDU initiative](https://se-education.org).
97 changes: 59 additions & 38 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,19 +1,34 @@
plugins {
id 'java'
id 'checkstyle'
id 'com.github.johnrengelman.shadow' version '7.1.2'
id 'application'
id 'checkstyle'
id 'com.github.johnrengelman.shadow' version '8.1.1'
id 'jacoco'
id 'org.openjfx.javafxplugin' version '0.1.0'
}

mainClassName = 'seedu.address.Main'
java {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}

application {
mainClass = 'seedu.address.Main'
applicationDefaultJvmArgs = [
'--add-modules', 'javafx.base,javafx.graphics,javafx.controls,javafx.fxml'
]
}

sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
javafx {
// 17.x to match JDK 17
version = '17.0.7'
// modules you actually use:
modules = ['javafx.base', 'javafx.graphics', 'javafx.controls', 'javafx.fxml']
}

repositories {
mavenCentral()
maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' }
// maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' } //remove snapshots
}

checkstyle {
Expand All @@ -25,48 +40,54 @@ test {
finalizedBy jacocoTestReport
}

task coverage(type: JacocoReport) {
sourceDirectories.from files(sourceSets.main.allSource.srcDirs)
// Generate HTML + XML coverage after tests
tasks.register('coverage', JacocoReport) {
dependsOn tasks.test

// where to find the compiled classes and sources
classDirectories.from files(sourceSets.main.output)
executionData.from files(jacocoTestReport.executionData)
afterEvaluate {
classDirectories.from files(classDirectories.files.collect {
fileTree(dir: it, exclude: ['**/*.jar'])
})
}
sourceDirectories.from files(sourceSets.main.allSource.srcDirs)

// pick up exec/ec files from test runs (Gradle 7+ sometimes writes .exec or .ec)
executionData.from fileTree(dir: buildDir, includes: [
"jacoco/test.exec",
"jacoco/test.ec",
"outputs/unit_test_code_coverage/*coverage.ec"
])

reports {
html.required = true
xml.required = true
xml.required = true
csv.required = false
}
}


tasks.withType(JavaExec).configureEach {
// defensively add modules in case a custom run task bypasses the plugin config
jvmArgs += ['--add-modules', 'javafx.base,javafx.graphics,javafx.controls,javafx.fxml']
standardInput = System.in
}

dependencies {
String jUnitVersion = '5.4.0'
String javaFxVersion = '17.0.7'

implementation group: 'org.openjfx', name: 'javafx-base', version: javaFxVersion, classifier: 'win'
implementation group: 'org.openjfx', name: 'javafx-base', version: javaFxVersion, classifier: 'mac'
implementation group: 'org.openjfx', name: 'javafx-base', version: javaFxVersion, classifier: 'linux'
implementation group: 'org.openjfx', name: 'javafx-controls', version: javaFxVersion, classifier: 'win'
implementation group: 'org.openjfx', name: 'javafx-controls', version: javaFxVersion, classifier: 'mac'
implementation group: 'org.openjfx', name: 'javafx-controls', version: javaFxVersion, classifier: 'linux'
implementation group: 'org.openjfx', name: 'javafx-fxml', version: javaFxVersion, classifier: 'win'
implementation group: 'org.openjfx', name: 'javafx-fxml', version: javaFxVersion, classifier: 'mac'
implementation group: 'org.openjfx', name: 'javafx-fxml', version: javaFxVersion, classifier: 'linux'
implementation group: 'org.openjfx', name: 'javafx-graphics', version: javaFxVersion, classifier: 'win'
implementation group: 'org.openjfx', name: 'javafx-graphics', version: javaFxVersion, classifier: 'mac'
implementation group: 'org.openjfx', name: 'javafx-graphics', version: javaFxVersion, classifier: 'linux'

implementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.7.0'
implementation group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jsr310', version: '2.7.4'

testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: jUnitVersion

testRuntimeOnly group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: jUnitVersion
def jUnitVersion = '5.10.2' // latest stable JUnit 5

// Use modern Jackson via the official BOM (keeps all versions aligned)
implementation platform('com.fasterxml.jackson:jackson-bom:2.17.2')
implementation 'com.fasterxml.jackson.core:jackson-databind'
implementation 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310'

// Unit tests
testImplementation "org.junit.jupiter:junit-jupiter-api:${jUnitVersion}"
testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:${jUnitVersion}"
}

shadowJar {
archiveFileName = 'addressbook.jar'
archiveFileName = 'FitBook.jar'
}

run {
enableAssertions = true
}

defaultTasks 'clean', 'test'
23 changes: 23 additions & 0 deletions docs/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
_markbind/logs/

# Dependency directories
node_modules/

# Production build files (change if you output the build to a different directory)
_site/

# Env
.env
.env.local

# IDE configs
.vscode/
.idea/*
*.iml
40 changes: 21 additions & 19 deletions docs/AboutUs.md
Original file line number Diff line number Diff line change
@@ -1,58 +1,60 @@
---
layout: page
title: About Us
layout: default.md
title: "About Us"
---

We are a team based in the [School of Computing, National University of Singapore](https://www.comp.nus.edu.sg).
# About Us

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

You can reach us at the email `seer[at]comp.nus.edu.sg`

## Project team

### John Doe
### Eldridge Ng

<img src="images/johndoe.png" width="200px">
<img src="images/eltry42.png" width="200px">

[[homepage](http://www.comp.nus.edu.sg/~damithch)]
[[github](https://github.com/johndoe)]
[[homepage](https://ay2526s1-cs2103t-f09-4.github.io/tp/)]
[[github](https://github.com/eltry42)]
[[portfolio](team/johndoe.md)]

* Role: Project Advisor

### Jane Doe
### Harun Abdullah Bin Mohd Jufri

<img src="images/johndoe.png" width="200px">
<img src="images/harun-abdullah.png" width="200px">

[[github](http://github.com/johndoe)]
[[github](http://github.com/harun-abdullah)]
[[portfolio](team/johndoe.md)]

* Role: Team Lead
* Responsibilities: UI

### Johnny Doe
### Arun Ayyappan Vellaiyan

<img src="images/johndoe.png" width="200px">
<img src="images/arunv2048.png" width="200px">

[[github](http://github.com/johndoe)] [[portfolio](team/johndoe.md)]
[[github](http://github.com/ArunV2048)] [[portfolio](team/johndoe.md)]

* Role: Developer
* Responsibilities: Data

### Jean Doe
### Adib

<img src="images/johndoe.png" width="200px">
<img src="images/adibice1.png" width="200px">

[[github](http://github.com/johndoe)]
[[github](http://github.com/adibice1)]
[[portfolio](team/johndoe.md)]

* Role: Developer
* Responsibilities: Dev Ops + Threading

### James Doe
### Darius Deng Yang

<img src="images/johndoe.png" width="200px">
<img src="images/darisusu.png" width="200px">

[[github](http://github.com/johndoe)]
[[github](http://github.com/darisusu)]
[[portfolio](team/johndoe.md)]

* Role: Developer
Expand Down
6 changes: 4 additions & 2 deletions docs/Configuration.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
---
layout: page
title: Configuration guide
layout: default.md
title: "Configuration guide"
---

# Configuration guide

Certain properties of the application can be controlled (e.g user preferences file location, logging level) through the configuration file (default: `config.json`).
13 changes: 8 additions & 5 deletions docs/DevOps.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
---
layout: page
title: DevOps guide
layout: default.md
title: "DevOps guide"
pageNav: 3
---

* Table of Contents
{:toc}
# DevOps guide

--------------------------------------------------------------------------------------------------------------------
<!-- * Table of Contents -->
<page-nav-print />

<!-- -------------------------------------------------------------------------------------------------------------------- -->

## Build automation

Expand Down
Loading