cOOPer

Eugene Chong - Project Portfolio Page

Overview

cOOPer is a Command Line Interface (CLI) desktop application developed to simplify administrative processes of tech startups such as communication and finance management.

cOOPer was developed in Java following an Object-Oriented Programming (OOP) paradigm, hence the letters OOP in its name.

Summary of Contributions

Code Contributed

All the code I contributed for this project can be found at this RepoSense link.

Enhancements Implemented

Contributions to the User Guide

Contributions to the Developer Guide

Contribution to Team-based Tasks

Review/mentoring contributions

Contributions beyond the project team

[Optional] Contribution to the User Guide

Here is an extract of one of my contributions to the User Guide:

Getting Started

This section explains how you can register an account with cOOPer in order to gain access to cOOPer’s features.

How cOOPer is to be used

Roles

User registration

ℹ️[username] refers to your name, [password] refers to your password, while [role] refers to your role as determined here.

>> [Logged out] register Sebastian /pw 123 /as admin
=========================================================================
Sebastian is now successfully registered as an admin!
=========================================================================

ℹ️A similar output should be observed when an employee is registered, with the output now showing ‘employee’ instead of ‘admin’.
💡 Just like when you are using any other app with a sign in feature, remember to record down your username and password somewhere (e.g. Sticky Notes, a password manager).

[Optional] Contribution to the Developer Guide

Here is an extract of one of my contributions to the Developer Guide:

Design

💡 The architecture diagram and UML diagrams in this document were created using draw.io. The .png templates used to create the diagrams can be found in the developerGuideDiagrams folder. To create and edit diagrams, access the draw.io website, select ‘Open Existing Diagram’ and open the desired .png file. Any changes to the diagram will be saved automatically.

Overview

cOOPer consists of two main layers: the verification layer and the features layer as shown in the diagram below. cOOPer recognizes different sets of inputs at each layer.

layerDiagram

Upon launching the app, the user starts at the verification layer where they can only log in or register. Entering valid credentials will then grant the user access to the features layer where they can input commands like cf andavailable to use cOOPer’s features. At this layer, entering the logout command will bring the user back to the verification layer.

Architecture

architectureDiagram

The Architecture Diagram above shows the high-level design of cOOPer and how cOOPer’s components are connected.

Cooper contains the main method of the program. Cooper’s responsibilities are as such:

Apart from Cooper, the rest of the app consists of these seven components:

Interaction of the architecture components to process user input

ℹ️userInput represents the credentials input by the user for verification. For example, register John /pw 12345 /as admin.

signInSequenceDiagram

ℹ️ userInput represents a command input by the user. For example, meetings.
ℹ️XYZCommand is an object representing a command recognised by cOOPer. For example, MeetingCommand.

commandSequenceDiagram