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

[CS2113-W12-1] Upcycle #3

Open
wants to merge 602 commits into
base: master
Choose a base branch
from

Conversation

winston-lim
Copy link

@winston-lim winston-lim commented Sep 28, 2022

Value proposition

Upcycle is a service for students staying in a particular community(hall) to view, lease or borrow items that they wish to share to their community to promote frugality and sustainability.

Target users

Singaporeans -> Students -> University -> Staying in Campus -> Have items to lease or want to loan

redders7 referenced this pull request in AY2223S1-CS2113-T18-1b/tp Oct 18, 2022

## 5. Product scope

### 5.1. Target user profile

Choose a reason for hiding this comment

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

The target user profile is specified clearly. Great!

# Upcycle - Developer Guide

## Table of contents
[Acknowledgements](#acknowledgements)

Choose a reason for hiding this comment

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

I like the use of hyperlinks in the table of contents!


Given below is an example usage scenario and how the command mechanism behaves at each step.

Step 1: The user types in the command in the command line. The CommandParser class checks if the command is valid through the createCommand() method, and either sends an exception, or send the input to the AddUserCommand class to be processed.

Choose a reason for hiding this comment

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

I think using steps to explain all the commands is good


## Instructions for manual testing
...To be updated

Choose a reason for hiding this comment

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

Great work! Can't wait to see the final DG.


...To be updated

## 2. Setup the environment

Choose a reason for hiding this comment

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

I like the clear setup guide


Step 6: Lastly, information about the updated transaction is printed to the user

The following sequence diagram models the operation:

Choose a reason for hiding this comment

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

Would it be better to leave out the exception call details as they are repeated multiple times throughout the docs

Upcycle is a Database Management System that aims to promote frugality and sustainability by providing service for students
staying in a particular community/hall to loan or borrow items they wish to share with their community.

## 6. User Stories

Choose a reason for hiding this comment

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

I like the clear user stories


Given below is an example usage scenario and how the command mechanism behaves at each step.

Step 1: The user types in the command in the command line. The CommandParser class checks if the command is valid through the createCommand() method, and either throws an exception, or forwards the input to `UpdateTransactionCommand` class to be processed.

Choose a reason for hiding this comment

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

Would it be better to separate out a sample usage scenario and the explanation on how the code works. It might be clearer to split the sample usage into 1 part and explanation together with a sequence diagram in another

Copy link

@Zhai-Yuxin Zhai-Yuxin left a comment

Choose a reason for hiding this comment

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

Really good and detailed. May consider not including in the exception part in your diagrams

Step 4: Lastly, `executeCommand` returns false to indicate that this is a non-terminating command

The following sequence diagram shows how the view user operation works:
![ListUserSequence](images/ListUserSequence.png)

Choose a reason for hiding this comment

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

consider adding in an activation bar for UI


## Acknowledgements

{list here sources of all reused/adapted ideas, code, documentation, and third-party libraries -- include links to the original source as well}
This project is based on the skeleton code and documents of [SE-EDU AddressBook Level-3](https://se-education.org/addressbook-level3/)

Copy link

Choose a reason for hiding this comment

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

Like that you specify who wrote what under each section!


**Step 4**: Go to File > Open, locate and open the cloned repository.

**Step 5**: Verify the setup:
Copy link

Choose a reason for hiding this comment

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

It might be better to name the running class differently than the iP? (change Duke to Upcycle)!

## 3. Design

This sector describes the architecture design of Upcycle with its components, and UML diagrams are used to support.

Copy link

Choose a reason for hiding this comment

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

This isn't updated here, but is visible on the developer guide page: https://ay2223s1-cs2113-w12-2.github.io/tp/DeveloperGuide.html

For "The section below gives more detailed description of each component," I believe you forgot to move it to a new line underneath the image!

Upcycle stores the user's data, including the user list, item list, transaction list in three files ```user.txt```, ```item.txt```, ```transaction.txt```, respectively.
The data will be loaded when running the program, and ONLY be written to the files when exiting the program correctly, otherwise, the data during the execution will be gone.
These find can be found in ```data``` folder in the same directory with the folder containing project root.

Copy link

Choose a reason for hiding this comment

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

On the website: https://ay2223s1-cs2113-w12-2.github.io/tp/DeveloperGuide.html
there is an empty subsection!

image

Welcome to Upcycle - a perfect desktop app dedicate for managing rental businesses. The nature of these businesses
requires to deal with tons of data; therefore, noting down all information by notes and pen is not ideal for managers.
It is developed for rental business managers, who can type fast to efficiently keep track all of their customers, items,
and transactions via Command Line Interface with a single line of command.

Useful links:
* [User Guide](UserGuide.md)

Choose a reason for hiding this comment

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

Activation box ought to not immediately be closed, should leave some time for clearing the object up
1

Welcome to Upcycle - a perfect desktop app dedicate for managing rental businesses. The nature of these businesses
requires to deal with tons of data; therefore, noting down all information by notes and pen is not ideal for managers.
It is developed for rental business managers, who can type fast to efficiently keep track all of their customers, items,
and transactions via Command Line Interface with a single line of command.

Useful links:
* [User Guide](UserGuide.md)

Choose a reason for hiding this comment

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

Hello, may I ask why here use <>? Maybe yall trying to express <>
2

Welcome to Upcycle - a perfect desktop app dedicate for managing rental businesses. The nature of these businesses
requires to deal with tons of data; therefore, noting down all information by notes and pen is not ideal for managers.
It is developed for rental business managers, who can type fast to efficiently keep track all of their customers, items,
and transactions via Command Line Interface with a single line of command.

Useful links:
* [User Guide](UserGuide.md)

Choose a reason for hiding this comment

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

Here abt the input, it's a bit confusing for me.
Sine when reading a input, the control alrd should be passed to Ui and later return it.
3

For the second input, it never returns any control

Welcome to Upcycle - a perfect desktop app dedicate for managing rental businesses. The nature of these businesses
requires to deal with tons of data; therefore, noting down all information by notes and pen is not ideal for managers.
It is developed for rental business managers, who can type fast to efficiently keep track all of their customers, items,
and transactions via Command Line Interface with a single line of command.

Useful links:
* [User Guide](UserGuide.md)

Choose a reason for hiding this comment

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

Hi this 0 can be omitted~ But it's optional just want u to know
5

Welcome to Upcycle - a perfect desktop app dedicate for managing rental businesses. The nature of these businesses
requires to deal with tons of data; therefore, noting down all information by notes and pen is not ideal for managers.
It is developed for rental business managers, who can type fast to efficiently keep track all of their customers, items,
and transactions via Command Line Interface with a single line of command.

Useful links:
* [User Guide](UserGuide.md)

Choose a reason for hiding this comment

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

This new User() constructor box should end after the constructor returns
6

Welcome to Upcycle - a perfect desktop app dedicate for managing rental businesses. The nature of these businesses
requires to deal with tons of data; therefore, noting down all information by notes and pen is not ideal for managers.
It is developed for rental business managers, who can type fast to efficiently keep track all of their customers, items,
and transactions via Command Line Interface with a single line of command.

Useful links:
* [User Guide](UserGuide.md)

Choose a reason for hiding this comment

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

Oh I think the addUser() func never returns qwq
Uploading 6.png…

Welcome to Upcycle - a perfect desktop app dedicate for managing rental businesses. The nature of these businesses
requires to deal with tons of data; therefore, noting down all information by notes and pen is not ideal for managers.
It is developed for rental business managers, who can type fast to efficiently keep track all of their customers, items,
and transactions via Command Line Interface with a single line of command.

Useful links:
* [User Guide](UserGuide.md)

Choose a reason for hiding this comment

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

Ohhhhh this activation bar is half in the alt part
7

Welcome to Upcycle - a perfect desktop app dedicate for managing rental businesses. The nature of these businesses
requires to deal with tons of data; therefore, noting down all information by notes and pen is not ideal for managers.
It is developed for rental business managers, who can type fast to efficiently keep track all of their customers, items,
and transactions via Command Line Interface with a single line of command.

Useful links:
* [User Guide](UserGuide.md)

Choose a reason for hiding this comment

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

Ohhhhh not return again leh
8

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.