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

Update Documentations #249

Merged
merged 4 commits into from
Nov 14, 2023
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
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
199 changes: 113 additions & 86 deletions docs/DeveloperGuide.md

Large diffs are not rendered by default.

64 changes: 34 additions & 30 deletions docs/UserGuide.md

Large diffs are not rendered by default.

27 changes: 27 additions & 0 deletions docs/diagrams/AddAppointmentActivityDiagram.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
@startuml
skin rose
skinparam ActivityFontSize 15
skinparam ArrowFontSize 12
start
:User executes AddAppointmentCommand;

'Since the beta syntax does not support placing the condition outside the
'diamond we place it as the true branch instead.

if () then ([patient and doctor exist in model])
if () then ([patient and doctor do not already have
other appointments at the stated time])
:Add appointment to patient;
:Add appointment to doctor;
:Add appointment to model;
else ()
:System throws
CommandException;
endif

else ()
:System throws
CommandException;
endif
stop
@enduml
115 changes: 115 additions & 0 deletions docs/diagrams/AddAppointmentSequenceDiagram.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
@startuml
!include style.puml

box Logic LOGIC_COLOR_T1
participant ":LogicManager" as LogicManager LOGIC_COLOR
participant ":AddressBookParser" as AddressBookParser LOGIC_COLOR
participant ":AddAppointmentCommandParser" as AddAppointmentCommandParser LOGIC_COLOR
participant "a:AddAppointmentCommand" as AddAppointmentCommand LOGIC_COLOR
participant ":CommandResult" as CommandResult LOGIC_COLOR
participant ":Appointment" as Appointment USER_COLOR
end box

box Model MODEL_COLOR_T1
participant ":Model" as Model MODEL_COLOR
participant "p:Patient" as PatientP USER_COLOR
participant "d:Doctor" as DoctorD USER_COLOR
end box


[-> LogicManager : execute("add-appt args")
activate LogicManager

LogicManager -> AddressBookParser : parseCommand("add-appt args")
activate AddressBookParser

create AddAppointmentCommandParser
AddressBookParser -> AddAppointmentCommandParser
activate AddAppointmentCommandParser

AddAppointmentCommandParser --> AddressBookParser
deactivate AddAppointmentCommandParser

AddressBookParser -> AddAppointmentCommandParser : parse("args")

activate AddAppointmentCommandParser

create Appointment
AddAppointmentCommandParser -> Appointment : new
activate Appointment

Appointment --> AddAppointmentCommandParser : appointment
deactivate Appointment

create AddAppointmentCommand
AddAppointmentCommandParser -> AddAppointmentCommand : AddAppointmentCommand(appointment)
activate AddAppointmentCommand

AddAppointmentCommand --> AddAppointmentCommandParser : a
deactivate AddAppointmentCommand

AddAppointmentCommandParser --> AddressBookParser : a
deactivate AddAppointmentCommandParser
'Hidden arrow to position the destroy marker below the end of the activation bar.
AddAppointmentCommandParser -[hidden]-> AddressBookParser
destroy AddAppointmentCommandParser

AddressBookParser --> LogicManager : a
deactivate AddressBookParser

LogicManager -> AddAppointmentCommand : execute()
activate AddAppointmentCommand

AddAppointmentCommand -> Model : getFilteredPatientList()
activate Model

Model --> AddAppointmentCommand : Patients
deactivate Model

AddAppointmentCommand -> Model : getFilteredDoctorList()
activate Model

Model --> AddAppointmentCommand : Doctors
deactivate Model


AddAppointmentCommand --> AddAppointmentCommand : findDoctorAndPatient()
activate AddAppointmentCommand
AddAppointmentCommand --> AddAppointmentCommand
deactivate AddAppointmentCommand

AddAppointmentCommand --> AddAppointmentCommand : ValidateAppointment()
activate AddAppointmentCommand
AddAppointmentCommand --> AddAppointmentCommand
deactivate AddAppointmentCommand

AddAppointmentCommand --> PatientP : addAppointment(appointment)
activate PatientP
PatientP --> AddAppointmentCommand
deactivate PatientP

AddAppointmentCommand --> DoctorD : addAppointment(appointment)
activate DoctorD

DoctorD --> AddAppointmentCommand
deactivate DoctorD

AddAppointmentCommand -> Model : addAppointment(appointment)
activate Model

Model --> AddAppointmentCommand
deactivate Model

create CommandResult
AddAppointmentCommand -> CommandResult
activate CommandResult

CommandResult --> AddAppointmentCommand : result
deactivate CommandResult

AddAppointmentCommand --> LogicManager : result
deactivate AddAppointmentCommand

[<--LogicManager
deactivate LogicManager
@enduml
2 changes: 1 addition & 1 deletion docs/diagrams/LogicClassDiagram.puml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ LogicManager --> Storage
Storage --[hidden] Model
Command .[hidden]up.> Storage
Command .right.> Model
note right of XYZCommand: XYZCommand = AddCommand, \nFindCommand, etc
note right of XYZCommand: XYZCommand = AddPatientCommand, \nFindCommand, etc

Logic ..> CommandResult
LogicManager .down.> CommandResult
Expand Down
9 changes: 8 additions & 1 deletion docs/diagrams/StorageClassDiagram.puml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@ package "AddressBook Storage" #F4F6F6{
Class "<<interface>>\nAddressBookStorage" as AddressBookStorage
Class JsonAddressBookStorage
Class JsonSerializableAddressBook
Class JsonAdaptedPatient
Class JsonAdaptedDoctor
Class JsonAdaptedAppointment
Class JsonAdaptedPerson
Class JsonAdaptedTag
}
Expand All @@ -37,7 +40,11 @@ Storage -right-|> AddressBookStorage
JsonUserPrefsStorage .up.|> UserPrefsStorage
JsonAddressBookStorage .up.|> AddressBookStorage
JsonAddressBookStorage ..> JsonSerializableAddressBook
JsonSerializableAddressBook --> "*" JsonAdaptedPerson
JsonSerializableAddressBook --> "*" JsonAdaptedPatient
JsonSerializableAddressBook --> "*" JsonAdaptedDoctor
JsonSerializableAddressBook --> "*" JsonAdaptedAppointment
JsonAdaptedPatient ..|> JsonAdaptedPerson
JsonAdaptedDoctor ..|> JsonAdaptedPerson
JsonAdaptedPerson --> "*" JsonAdaptedTag

@enduml
File renamed without changes.
Binary file added docs/images/AddAppointmentActivityDiagram.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/AddAppointmentSequenceDiagram.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/LogicClassDiagram.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/StorageClassDiagram.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes
8 changes: 4 additions & 4 deletions docs/team/cmhuang777.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,23 +27,23 @@ Given below are my contributions to the project.
* **New Feature**: Updated part of the sample data to include the new features

* **Project management**:
* Managed releases `v1.3 trial` and `v1.3` on GitHub
* Managed releases `v1.3 trial`,`v1.3` and `v1.4` on GitHub
* Managed milestones and issues

* **Enhancements to existing features**:
* (to be added soon)

* **Documentation**:
* User Guide:
* Updated existing content to our project
* Added the section on adding new patients
* Developer Guide:
* Included the section for add patient/doctor feature and added a new sequence diagram for that feature
* Added use case for adding new patient
* Added Effort and Planned Enhancement section
* Added Sequence and activity diagram for AddAppointmentCommand

* **Team-based tasks**:
* Forked the team repo from the source code
* Set up the team website
* Updated readme
* Reviewed many PRs


Loading
Loading