TraceYourProj’s User Guide

Table of Contents

1. Introduction

2. Quick Start

3. Features

      Notes about command
      Viewing help
      Adding project(s) or resource(s)
      List the resources of all projects
      List the resources of one project
      Deleting resource(s)
      Editing a resource
      Finding resources
      Loading data from storage
      Saving data to storage
      Exiting TraceYourProj

4. FAQ

5. Command Summary


Introduction

TraceYourProj is a desktop app for tracking online resources for data science projects, optimized for use via a Command Line Interface (CLI).

Quick Start

  1. Download and install Java 11 or above in your device.
  2. Get the latest version of TraceYourProj from HERE.
  3. Execute the .jar file via terminal. A command-line user interface (CLI) should appear quickly after execution.
    • For Windows user, you may input “java -jar (location of the .jar file)” through command prompt
  4. Start using the app by entering commands to the user interface. Please refer to the Features section below for detailed descriptions of each command.

Upon running the jar file, you should see this on the command prompt console:

 _____                                                  ___              _
/__   \ _ __  __ _   ___  ___ /\_/\ ___   _   _  _ __  / _ \ _ __  ___  (_)
  / /\/| '__|/ _` | / __|/ _ \\_ _// _ \ | | | || '__|/ /_)/| '__|/ _ \ | |
 / /   | |  | (_| || (__|  __/ / \| (_) || |_| || |  / ___/ | |  | (_) || |
 \/    |_|   \__,_| \___|\___| \_/ \___/  \__,_||_|  \/     |_|   \___/_/ |
                                                                      |__/

Team Project of CS2113-W10-3.
TraceYourProj
Type 'help' for a list of command and related usage.

Features

Notes about command


Viewing help: help

Shows the available commands of TraceYourProj.

Format: help

Examples of usage:
Input:

help

Output:

------------------------------------------------------------------------
Here are the available commands:
add: Adds a resource to a project.
	Format: add p/PROJECT_NAME url/URL_LINK [d/LINK_DESCRIPTION c/true]
delete: Deletes a resource from the resource list for a specified project.
	Format: delete p/PROJECT_NAME [i/INDEX]
edit: Edits a resource from the resource list for a specified project.
	Format: edit p/PROJECT_NAME i/INDEX [url/URL_LINK] [d/LINK_DESCRIPTION]
list: View the resource list for a specified project.
	Format: list p/PROJECT_NAME
list-all: Shows the resource list for all projects.
find: Find resources in a specified project or all projects related to a keyword.
	Format: find k/KEYWORD [p/PROJECT_NAME]
save: Saves the current projects and resources to a data file.
load: Loads the projects and resources from the data file if it exists.
exit: Exits the program.
------------------------------------------------------------------------

Adding project(s) or resource(s) : add

Adds a resource to a Project.

Format : add p/PROJECT_NAME url/URL [d/DESCRIPTION c/CHECK]

Example of usage:

  1. Project “NUS” does not exist in the list:

    Input:

    add p/NUS url/https://www.nus.edu.sg/ d/NUS website
    

    Output:

    The resource is added into the new project "NUS".
    

    A project named “NUS” is created and the resource (URL and description) is added into its resource list.

  2. Project “NUS” and its resource’s URL - https://www.nus.edu.sg/ already exists in the project list: Input:
    add p/NUS url/https://www.nus.edu.sg/ d/NUS Offical Website
    

    Output:

    A resource with The same URL has already existed in its resource list. If you want to edit the resource, please use "edit" command.
    

    The user is prompted that the resource with the same URL has already existed in the project.

  3. A project “NUS” exists in the project list, and a resource with URL = https://nusmods.com/ does not exist:
    Input:
    add p/NUS url/https://nusmods.com/
    

    Output:

     The resource is added to the existing project "NUS".
    

    It will append the resource to the resource list of the project “NUS”.

  4. The user’s device could access internet:
    Input:
    add p/NUS url/nusmods c/true
    

    Output:

     Error: Resource failed to be added. (Reason: URL provided is not a valid URL.)
    

    The user is prompted that the provided URL is invalid since it could not pass the URL test.


List the resources of all projects: list-all

Shows a list of all resources in all projects created in TraceYourProj.

Format: list-all

Example of usage:

Input:

list-all

Outputs:

  1. If there are no projects:
     Here is the list of all project(s) and it's resource(s)!
     --------------------------------------------------------
    
  2. If there are multiple projects and its resources:
     Here is the list of all project(s) and it's resource(s)!
     --------------------------------------------------------
     Project 1: NUS
     Resource(s):
     1): [2021-04-03] https://www.nus.edu.sg/ (Description: NUS Offical Website)
     2): [2021-04-03] https://nusmods.com/
     --------------------------------------------------------
     Project 2: NTU
     Resource(s):
     1): [2021-04-03] https://ntu.com/
     --------------------------------------------------------
    

List the resources of one project: list p/PROJECTNAME

Shows a list of all resources in one project created in TraceYourProj.

Format: list p/PROJECTNAME

Example of usage:

Input:

list p/NUS

Output:

--------------------------------------------------------
Project: NUS
Resource(s):
1): [2021-04-03] https://www.nus.edu.sg/ (Description: NUS Offical Website)
2): [2021-04-03] https://nusmods.com/
--------------------------------------------------------

For list p/PROJECT_NAME, only one project name can be used at one time. This feature doesn’t support multiple project names. It doesn’t support two parameters like list p/CZ2003 p/IT3011. Supporting more than 1 project name for this feature will be for our future implementations.


Deleting resource(s) : delete

Deletes the specified resource from the resource list based on the project.

Format : delete p/PROJECT_NAME [i/INDEX]

Example of usage:

  1. Deletes the 3rd resource in the resource list of the project ‘NUS’.

    Input:

    delete p/NUS i/3
    

    Output:

    The resource is deleted from the project "NUS".
    
  2. Deletes all resources from the project ‘NUS’.

    Input:

    delete p/NUS
    

    Output:

    All the resources in NUS has been deleted.
    

Editing a resource : edit

Edits an existing resource in the resource list based on the project.

Format: edit p/PROJECT_NAME i/INDEX url/LINK [d/DESCRIPTION]

Example of usage:

Input:

edit p/Jester's Jokes i/2 url/https://www.kaggle.com/sameerdev7/joke-rating d/Jester Jokes Dataset

Output:

The resource is successfully edited to : 
    [2021-04-03] https://www.kaggle.com/sameerdev7/joke-rating (Description: Jester Jokes Dataset)

Edits the url and description of the 2nd resource in ‘Jester Jokes’ project to be https://www.kaggle.com/sameerdev7/joke-rating and Jester Jokes Dataset respectively.


Finding resources: find

Finds resources in a specified project or in all projects based on a user-specified keyword

Format: find k/KEYWORD [p/PROJECT_NAME]

Example of usage:

  1. Find the resources using a keyword, ‘website’ under project “CS2113”.
    Input:
     find k/website p/NUS
    

    Output:

     --------------------------------------------------------
     Project: NUS
     1): [2021-04-03] https://www.nus.edu.sg/ (Description: NUS website)
     --------------------------------------------------------
    
  2. Find the resources using a keyword, ‘website’ in all projects.
    Input:
    find k/website
    

    Output:

     Here is the list of all project(s) and its resource(s) matching the keyword!
     --------------------------------------------------------
     Project 1: NUS
     1): [2021-04-03] https://www.nus.edu.sg/ (Description: NUS website)
     --------------------------------------------------------
     Project 2: CS2113
     1): [2021-04-03] https://nus-cs2113-ay2021s2.github.io/website/admin/tp-expectations.html (Description: CS2113 website)
     --------------------------------------------------------
    

Loading data from storage load

Loads the projects and resources from the data storage text file.

Format: load

Example of usage:

Input:

load

Output:

Loaded projects from storage

Saving data to storage: save

Saves the project and resources to the data storage text file.

Format: save

Input:

save

Output:

Saved projects to storage

Exiting TraceYourProj: exit

Exits the program.

Format: exit

Input:

exit

Output:

Thank you for using TraceYourProj!
Hope you have a wonderful day.



FAQ

Q: Do I need to create a new project before adding resource to it?

No, you do not need to do so. With add command, if the provided project name is not found in the project list, a new project will be created, and the provided resources will be added to the newly created project automatically.

Q: Can I add a resource to a project without providing description?

Yes, you can. It is because description is optional when adding a resource with add command.


Command Summary

Command Syntax Remark
help help Shows the available commands of TraceYourProj.
add add p/PROJECT NAME url/URL [d/DESCRIPTION c/true] Add a resource to a project
delete delete p/PROJECT_NAME [i/INDEX] Deletes the specified resource from the resource list based on the project.
edit edit p/PROJECT_NAME i/INDEX url/LINK [d/DESCRIPTION] Edits an existing resource in the resource list based on the project.
list list p/PROJECT_NAME List a project’s resources
list-all list-all List all projects and their respective resources
find find k/KEYWORD [p/PROJECT_NAME] Find resources
exit exit Exit TraceYourProj