Overview
Club Connect is an application targeted at club members who are students at the National University of Singapore (NUS). It aims to make the tedious process of club management easier and more effective.
Club Connect is an application that a user who loves to type would fancy - in other words, it uses a Command Line Interface (CLI). All output is displayed on a Graphical User Interface (GUI) - which is just computer jargon for a display that includes panes, menus and message boxes.
Code Contributed : [Functional code] [Test code]
Major Enhancement: Account Management
Account Management are authentication which members can store unique data into, logs into their own account to modify their account details and also start the Club Connect by Signing up the first user.
Given below are sections I contributed to the User Guide. They showcase my ability to write technical documentation and the technical depth of my contributions to the project. |
Sign Up Feature
Sign Up feature allows the setting up of Club Connect. It adds the first person into Club Connect.
Start of Extract (from UserGuide)
Signing up a member: signup
(since v1.4)
Signs up a member to Club Connect.
Format: signup n/NAME p/PHONE_NUMBER e/EMAIL m/MATRIC_NUMBER [t/TAG]…
Aliases: register
, enroll
A member can have any number of tags (including 0). |
Refer to login command documentation for user credentials.
|
Example: signup n/Alan Walker p/97456895 e/alanw@gmail.com m/A0156489C t/President
Figure 5 shows the output of the signup
command.
End of Extract (from UserGuide)
Log In Feature
Log In feature allows each and every member to have their own unique account which stores their data.
Start of Extract (from UserGuide)
Logging in to the application: login
(Since v1.3)
Logs in a member to Club Connect.
Format: login u/USERNAME pw/PASSWORD
Alias: signin
Example: login u/A0123456H pw/password
-
Use your
MATRIC NUMBER
as your username. -
The default password is
password
. We advise you to change your password using thechangepass
command once you’ve logged in.
Figure 6 shows the output of the login
command.
End of Extract (from UserGuide)
Change Password Feature
Change Password Feature allows members to change their password to improve the security of their accounts.
Start of Extract (from UserGuide)
Changing password : changepass
(Since v1.4)
Changes your password, if you are logged in.
Format: changepass u/USERNAME pw/OLD_PASSWORD npw/NEW_PASSWORD
Alias: changepw
Examples:
-
changepass u/A0123456H pw/password npw/pword
Changes the password of the member with usernameA0123456H
topword
. -
changepass u/A1234567H pw/password npw/brandnewpassword
Changes the password of the member with usernameA1234567H
tobrandnewpassword
.
Figures 7 and 8 show the output of the changepass
command (before and after).
End of Extract (from UserGuide)
Log Out Feature
Log out feature allows members to switch accounts between them.
Start of Extract (from UserGuide)
Logging out of the application : logout
(Since v1.4)
Logouts out the user from Club Connect.
Format: logout
Alias: signout
Figure 9 shows the output of the logout
command.
End of Extract (from UserGuide)
Minor Enhancement: Display Member Details
Revamped Selected User Interface to display the details of the member selected
Start of Extract (from UserGuide)
Selecting a member : select
(since v1.5rc)
Selects the member identified by the index number used in the most recent member listing.
Format: select INDEX
Aliases: s
, show
In order to get the UI to look as intended, check out [Tips]. |
Examples:
-
list
select 2
Selects the 2nd member in Club Connect. -
find Betsy
s 1
Selects the 1st member in the results of thefind
command.
Figure 25 shows the output of the select
command.
End of Extract (from UserGuide)
Implementation
Implementation of features from major enhancement.
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. |
Start of Extract (from Developer Guide)
Account Management
Account Management are authentication which members can store unique data into, logs into their own account to modify their account details and also start the Club Connect by Signing up the first user.
Current Implementation
Account Management mechanism is facilitated by several command classes in Club Connect.
Signing up
signup
mechanism is fascilitated by the SignUpCommand
class.
It allows the setting up of Club Connect.
SignUpCommand can only be executed once. Only can be executed again after clearing Club Connect. |
The SignUpCommand
extends for Command
. It is not an undoable command.
Figure 19 (shown below) depicts the UML representation of the SignUpCommand
.
Figure 19. UML Diagram of SignUpCommand
.
Parsing of command is performed by SignUpCommandParser
, which returns a SignUpCommand
object after parsing Name, Phone, Email, Matric Number, [Tags].
Figure 20 below shows the sequence diagram of the SignUpCommandParser
.
Figure 20. Sequence Diagram for the parsing of `SignUpCommandParser.`
Figure 21 below shows the high-level sequence diagram of the command execution.
Figure 21. High-Level Sequence diagram of signing up a member.
Logging in
login
mechanism is facilitated by the LogInCommand
class.
It allows Exco
members to use Exco
privileges in the Club Book. It also allows both Members
and Exco
to have their own account.
The LogInCommand
consists of the following fields:
-
Username - Username of the member.
-
Password - Password of the member.
The LogInCommand
extends for Command
. It is not an undoable command.
Figure 22 (shown below) depicts the UML representation of the LogInCommand
.
Figure 22. UML Diagram of LogInCommand
.
Parsing of command is performed by LogInCommandParser
, which returns a LogInCommand
object after parsing Username and Password object.
Figure 23 below shows the sequence diagram of the LogInCommandParser
.
Figure 23. Sequence diagram of LogInCommandParser
.
Figure 24 below shows the high-level sequence diagram of the command execution.
Figure 24. High-Level Sequence diagram of logging in a member.
Changing Password
changepass
mechanism is facilitated by the ChangePasswordCommand
class.
It allows Members
to change their current password to a new password.
The ChangePasswordCommand
consist fo the following fields:
-
Username - Username of the member.
-
Password - Current Password of the member.
-
NewPassword - New Password given by the member.
ChangePasswordCommand
extends from Command
and not from UndoableCommand
, as it is not an undoable command.
Figure 25 (shown below) depicts the UML representation of the ChangePasswordCommand
.
_Figure 25. UML Diagram of ChangePasswordCommand
.
Parsing of command is performed by ChangePasswordCommandParser
, which returns a ChangePassword
object after parsing Username, Password and Newpassword.
Figure 26 below shows the sequence diagram of the ChangePasswordCommandParser
.
_Figure 26. Sequence diagram of ChangePasswordCommmandParser
.
Figure 27 below shows the high-level sequence diagram of the command execution.
_Figure 27. High-Level Sequence diagam of changing the password of a member
End of Extract (from Developer Guide)
Other Contributions
-
Implement Sort functions where member shown will always be sorted in alphabetical order.
-
Reported existing bugs to teammates.
-
Reported bugs and suggestions for other teams in the class.