Skip to content

ryan-toh/tp

 
 

Repository files navigation

Java CI

codecov

EduDex

EduDex is a desktop app for tutors to manage student contacts and classes, optimized for freelance tutors who prefer using Command Line Interface (CLI).


UI Overview

EduDex Interface
Figure 1: Main interface of EduDex


Quick start

  1. Ensure you have Java 17 or above installed in your Computer.
    Mac users: Ensure you have the precise JDK version prescribed here.

  2. Download the latest .jar file from here.

  3. Copy the file to the folder you want to use as the home folder for your EduDex.

  4. Open a command terminal, cd into the folder you put the jar file in, and use the java -jar edudex.jar command to run the application.
    Note that the app contains some sample data.

  5. Type the command in the command box and press Enter to execute it. e.g. typing help and pressing Enter will open the help window.
    Some example commands you can try:

    • list : Lists all contacts.

    • add n/John Doe p/98765432 e/johnd@example.com a/John street, Block 123, #01-01 d/Wednesday start/1500 end/1600:
      Adds a student named John Doe to EduDex.

    • delete 3 : Deletes the 3rd student shown in the current list from EduDex.

    • exit : Exits the app.

  6. Refer to the Features below for details of each command.


Features

Feature list:

  1. Add student
  2. Delete student
  3. View all student contacts
  4. Exit program

Notes about the command format:

  • Words in UPPER_CASE are the parameters to be supplied by the user.
    e.g. in add n/NAME, NAME is a parameter which can be used as add n/John Doe.

  • Parameters can be in any order.
    e.g. if the command specifies n/NAME p/PHONE_NUMBER, p/PHONE_NUMBER n/NAME is also acceptable.

  • Extraneous parameters for commands that do not take parameters (such as list and exit) will be ignored.
    e.g. if the command specifies exit 123, it will be interpreted as exit.

  • If you are using a PDF version of this document, be careful when copying and pasting commands that span multiple lines as space characters surrounding line-breaks may be omitted when copied over to the application.


Add student

Adds a student’s contact to EduDex

Format: add n/NAME p/PHONE_NUMBER e/SCHOOL a/ADDRESS d/DAY start/TIME_START end/TIME_END

Example: add n/John Doe p/98765432 e/johnd@example.com a/John street, Block 123, #01-01 d/Wednesday start/1500 end/1600

Parameters:

  • NAME:

    • Acceptable values: any string will be accepted, input will not be modified or cleaned
    • Error message: no error message, all inputs are accepted
  • PHONE_NUMBER:

    • Acceptable values: digits from 0-9, any length
    • Error message: “Phone number must contain only numbers!”
  • SCHOOL:

    • Acceptable values: any string will be accepted
    • Error message: no error message
  • ADDRESS:

    • Acceptable values: any string will be accepted
    • Error message: no error message
  • DAY:

    • Acceptable values: { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday }
    • Error message: “For DAY field, please input a day of the week”
  • TIME_START:

    • Acceptable values: a 4 digit integer (can be prefixed with 0s) whereby the first 2 digits are from 00 to 23 (inclusive); and the last 2 digits are from 00 to 59 (inclusive)
    • Error message: “Enter the start time as: HHMM”
  • TIME_END:

    • Acceptable values: a 4 digit integer (can be prefixed with 0s) whereby the first 2 digits are from 00 to 23 (inclusive); and the last 2 digits are from 00 to 59 (inclusive)
    • Error message: “Enter the end time as: HHMM”

Outputs:

  • Succeed:
New student added: 
<NAME>; Phone: <NUMBER>; School: <SCHOOL>; Address: <ADDRESS>; Day: <DAY>; TIME: <TIME_START> - <TIME_END>
  • Fail:
Invalid command format!
add: Adds a student to EduDex.
Format: `add n/NAME p/PHONE_NUMBER e/SCHOOL a/ADDRESS d/DAY start/TIME_START end/TIME_END`
Example: add n/John Doe p/98765432 e/johnd@example.com a/John street, Block 123, #01-01 d/Wednesday
start/1500 end/1600

Delete student

Delete a student's contact from EduDex.

Format: delete INDEX

Example Commands:

  • delete 1
  • delete 23

Parameter:

  • INDEX
    • Acceptable values: positive integers that have a valid student contact
    • Error messages:
      1. If INDEX is not an integer
        e.g.: delete chicken
        Output: INDEX must be a positive integer.
      2. If INDEX is a negative number
        e.g.: delete -2
        Output: INDEX must be a positive integer.
      3. If INDEX does not exist in the list
        e.g.: delete 10000000
        Output: The contact index provided is invalid.

Outputs:

  • Succeed: Student contact <NAME> is successfully removed from EduDex.
  • Fail: No change in EduDex

View all student contacts

Displays all student contacts in a numbered list, starting from index 1.

Format: list

The command list takes in no parameters.

Outputs:

  • Succeed: Shows a list of all the contacts in the format

Output example:
Here are all your contacts.
Image for output of list command


Exit program

Exits and closes the EduDex app.

Format: exit

The command exit takes in no parameters.

Outputs:

  • Succeed: Goodbye message is shown and the system stops.
    Exiting EduDex... Bye!
  • Fail: no Goodbye message is shown and application will still be running.


FAQs

  1. How do I install Java 17 on my computer?
    Refer to the official Oracle download page or follow the installation guide for your OS. Mac users should install the exact JDK version specified here.

  2. Why is EduDex not launching when I run java -jar edudex.jar?
    Ensure that:

    1. You have installed Java 17.
    2. You are in the correct directory containing the .jar file.
    3. You typed the command correctly: java -jar edudex.jar.
  3. Can I import my existing student data from another program?
    Currently, EduDex only supports data stored in its own save file format. Future versions may include data import/export features.

  4. Where is my data saved?
    All data is saved automatically in a file located in the same folder as the EduDex .jar file.
    If you move or delete this file, EduDex will start with a fresh, empty EduDex.

  5. What happens if I type a wrong command?
    EduDex will display an error message and provide guidance on the correct command format. No data will be changed.

  6. Does EduDex work offline?
    Yes, EduDex is a fully offline application. No internet connection is required once you have downloaded the .jar file.

  7. Will EduDex work on Linux/Windows/Mac platforms?
    Yes. EduDex is platform-independent as long as Java 17 is installed.

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Java 98.5%
  • CSS 1.5%