https://github.com/dracolim/IS442-Quantum.git
- Lim Bei Ling Cheryl
- Faisal Samudra
- Cher Kheem Thong
- Wisely Kwek
- Liao JiaXiong
- Natalie Chan
- FuWei Tian
- Ensure that you have WAMP / MAMP installed and running
- Go to
backend/src/main/resources/application.properties
and edit the credentials forspring.datasource.username
andspring.datasource.password
to your own credentials for your WAMP/MAMP server - Create a database in the WAMP/MAMP server with the name
qlvmsdb
- Once created, run the
build.bat
file in the terminal. Thebuild.bat
file will download apache-maven-3.9.1-bin.zip and set it to your local maven environment variable. Themvn spring-boot:run
command will also be executed and the Spring Boot application should load all the necessary data into the database.
- The front-end pages are located in the
frontend
folder, explanation for the respective pages are shown below: - To use the pages, firstly Login through the Login page (
login_home.html
) with the following correct email and password- For Vendor:
- Email: vendor.3@gmail.com
- Password: 123456
- For Admin::
- Email: wejustclimb@gmail.com
- Password: 123456
- For Approver::
- Email: lancelim@gmail.com
- Password: 123456
- For Vendor:
login_home.html
- Users can login to their respective accounts with their email and password. There are total 3 user types (Approver, Admin, Vendor).
- This login page will idenitfy which users belongs to which user type, and bring them to their respective homepage.
Vendor_workflow.html
- This is the Vendor's homepage
- It displays all the pending workflows (Workflows that have formStatuses "REQUESTED") that requires Vendors to fill in the forms.
- Vendors can either click on the table row or the icon in the forms column to go to the respective workflow page.
Steps to select individual workflow
- From
Vendor_workflow.html
, Vendors can either click on the table row or the icon in the forms column. - After selecting, it will bring the vendors to
Vendor_form.html
where it will display all the forms that belongs to that particular workflow - Form Status: "COMPLETED" and "INCOMPLETE"
- By Default, if Vendor have not submitted form, the staus will be "INCOMPLETE"
- If Vendor Submits form, the status will be changed from "INCOMPLETE" to "COMPLETED"
- If Admin requests Vendor to submit/update form again, the status will be changed to "INCOMPLETE"
Steps to select individual form
- From
Vendor_workflow.html
, Vendors can either click on the table row or the icon in the forms column. - After selecting, it will bring the vendors to
Vendor_form.html
where it will display all the forms that belongs to that particular workflow - From
Vendor_form.html
, select any forms that is displayed. It will lead to theVendor_form_sequence.html
where all the questions from the form will be shown
Admin_home.html
- This is the Admin's homepage
- It displays all the pending workflows (workflow with status: IN PROGRESS) that requires the Admins to validate the form after Vendor's submission
- Admins can click on the table row to go to the respective pending workflows page
Admin_individual_pendingwf.html
Steps to select individual workflow
- From
Admin_home.html
, Admins can click on the table row - After selecting, it will bring the Admins to
Admin_individual_pendingwf.html
where it will display all the forms that belong to that pending workflow
Steps to validate form
- From
Admin_home.html
, Admins can click on the table row - After selecting, it will bring the Admins to
Admin_individual_pendingwf.html
where it will display all the forms that belong to that pending workflow - At
Admin_individual_pendingwf.html
, Admins can select "APPROVED" or "NOT APPROVED" from the dropdown menu in the Approval column.
- Scenario 1: if Admins selects "APPROVED", the status (Status column) will change from "PENDING" to "VALIDATED".
- Scenario 2: if Admins selects "NOT APPROVED", the status (Status column) will change from "PENDING" to "REQUESTED"
Steps to submit form
- From
Admin_home.html
, Admins can click on the table row - After selecting, it will bring the Admins to
Admin_individual_pendingwf.html
where it will display all the forms that belong to that pending workflow - At
Admin_individual_pendingwf.html
, Admin can click on the table row to select the forms they want to view or submit - After selecting, it will bring the Admins to
Admin_form_sequence.html
where it will display all the questions and answers submitted - Admin can check the form as well as fill in the required questions (eg: Admin Evaluation) and submit form.
Admin_workflow.html
- This is the Admin's overview of all the existing workflows
- This page will show all the completed, in-progress and rejected workflows
- Admin can either check sequence, edit and delete workflows
Steps to Assign New Workflow
- At
Admin_workflow.html
, click on "Assign new workflow" button. A pop up will be shown on the screen. - Fill in the required details and submit
- Once submitted, the new workflow will be shown on the table.
- Error Handling:
- Scenario 1: Empty Inputs
Steps to Check Workflow Sequence
- From
Admin_workflow.html
, Admin can either click on the table rows or the document icon in the "check sequence" column - It will lead to
Admin_workflow_sequences.html
, where it will show all the forms and it's statuses that belongs to that workflow
Steps to Edit Workflow
- At
Admin_workflow.html
, click on the icon in the "Edit" column. A pop up will be shown on the screen. - Edit the required fields and submit
- Once submitted, the workflow will be updated with the new details
- Error Handling:
- Scenario 1: Empty Inputs
- Scenario 1: Empty Inputs
Steps to Delete Workflow
- At
Admin_workflow.html
, click on the icon in the "Delete" column. - After clicking, it will delete the workflow
Steps to Assign New Forms to Workflow
- From
Admin_workflow.html
, Admin can either click on the table rows or the document icon in the "check sequence" column - From
Admin_workflow_sequences.html
, click on "ASSIGN NEW FORMS" button, a pop up will be shown on the screen - Select on the forms, and click "Submit" button. The forms will then be added to the workflow.
Steps to Delete Form from Workflow
- From
Admin_workflow.html
, Admin can either click on the table rows or the document icon in the "check sequence" column - At
Admin_workflow_sequences.html
, click on the icon in the "Delete" column. - After clicking, it will delete the form from workflow.
Steps to View Form
- From
Admin_workflow.html
, Admin can either click on the table rows or the document icon in the "check sequence" column - At
Admin_workflow_sequences.html
, click on the any table rows. - It will lead to
Admin_form_sequences2.html
, where it will show all the questions and answers from the fomr - Admin CANNOT submit or edit form. If Admin would like to do so, they have to go to click on this link
Steps to Export Form
- From
Admin_workflow.html
, Admin can either click on the table rows or the document icon in the "check sequence" column - From
Admin_workflow_sequences.html
, click on the any table rows. - At
Admin_form_sequences2.html
, click on "EXPORT" button - The form PDF will be automatically downloaded to the desktop
Admin_accounts.html
- This is the Admin's view of the accounts page
- It displays all the accounts of all 3 types (Admin, Approver & Vendor) registered in the system.
- An Admin can create an account of any 1 of the 3 types by clicking either "CREATE VENDOR ACCOUNT", "CREATE APPROVER ACCOUNT" or "CREATE ADMIN ACCOUNT".
- An Admin can delete any existing accounts by clicking the delete button that is represented by a trash can icon.
- An Admin can update any existing accounts by clicking the update button that is represented by a document & pen icon.
Steps to create a vendor account
For creating Admin & Approver accounts, click the appropriate "CREATE _____ ACCOUNT" under step 1 and follow the rest of the steps.
- At
Admin_accounts.html
, Admins can click on "CREATE VENDOR ACCOUNT" located at the bottom right corner. - After clicking, a modal will appear that will allow the Admin to enter the necessary details to create the account.
- After filling in the information, the Admin can click on the blue Save button that's located at the bottom of the modal.
- If no fields are left empty and all fields are valid, the account is now successfully created.
Steps to update an account
Example given is for updating Vendor account, but the steps apply to all 3 types of accounts
- At
Admin_accounts.html
, under a particular account, Admins can click on the update button (represented by a document & pen icon) associated to the account to update account information. - After clicking, a modal will appear that will allow the Admin to edit the necessary details to update the account.
- After filling in the information, the Admin can click on the blue Save button that's located at the bottom of the modal.
- If no fields are left empty and all fields are valid, the account is now successfully updated.
Admin_form.html
- This page shows all the forms that exists
- Admin can either view , edit or delete form
Steps to Delete Form
- At
Admin_form.html
, click on the icon in "DELETE" column to delete form - After clicking, the form will be removed from the table
Steps to View Question Details
- At
Admin_form.html
, either click on the icon in "FORM DOCUMENT" column or any table rows - It will lead to
Admin_Individual_form.html
, where all the questions details (Eg: Field Type, Field Name) will be shown
Steps to Create New Form
- At
Admin_form.html
, click on "CREATE NEW FORM" button. A pop up will be shown on the screen - Fill in the Form Name field and click on the "Submit" button
- Form will be created and added to the table
Steps to Edit Form Name
- At
Admin_form.html
, either click on the icon in "FORM DOCUMENT" column or any table rows - It will lead to
Admin_Individual_form.html
, where all the questions details (Eg: Field Type, Field Name) will be shown - Click on the Input beside Form Name, and fill in the new form name. It will edit the form name accordingly
Steps to Edit Section Title, ID, Description
- At
Admin_form.html
, either click on the icon in "FORM DOCUMENT" column or any table rows - It will lead to
Admin_Individual_form.html
, where all the questions details (Eg: Field Type, Field Name) will be shown - At
Admin_Individual_form.html
,- Section Title: Click on the Input from "SECTION TITLE" column and edit accordingly
- Section Description: Click on the Input from "SECTION DESCRIPTION" column and edit accordingly
- Section ID: Click on the dropdown and select the section Ids from "SECTION ID" column
Steps to Edit Field Name, Field Type, Input Options, Required
- At
Admin_form.html
, either click on the icon in "FORM DOCUMENT" column or any table rows - It will lead to
Admin_Individual_form.html
, where all the questions details (Eg: Field Type, Field Name) will be shown - At
Admin_Individual_form.html
,
- Field Name: Click on the Input from "FIELD NAME" column and edit accordingly
- Field Type: Click on the dropdown and select the field types
- Required: Click on the dropdown and select the option (True: it is required; False: It is not required)
- Input Options:
- "Edit Options" will only appear if the field types are either Radio or Checkbox
- To Edit the Options:
- Click on the "Edit Options"; A pop up will be shown on the screen
- Select the Number of Input Options
- Click on the "->"
- The options input will be shown; fill it in and click submit
- The new options will be shown in the "INPUT OPTIONS" column
- Error Handling:
- Scenario 1: Input cannot be empty
- Scenario 2: Input cannot be the same
- (EXTRA) if "others" is added into the Input Options, it will automatically create a "(Others) _[Field Name] " question and added to the section that belongs to that question.
Steps to Delete Field
- At
Admin_form.html
, either click on the icon in "FORM DOCUMENT" column or any table rows - It will lead to
Admin_Individual_form.html
, where all the questions details (Eg: Field Type, Field Name) will be shown - At
Admin_Individual_form.html
, click on the icon in "DELETE" column to delete the field.
Steps to Create New Field/Question
- At
Admin_form.html
, either click on the icon in "FORM DOCUMENT" column or any table rows - It will lead to
Admin_Individual_form.html
, where all the questions details (Eg: Field Type, Field Name) will be shown - At
Admin_Individual_form.html
, click on "CREATE NEW FIELDS" button. A pop up will be shown - Admin can either add the new field to a existing section or to a new section.
- If Admin wants to add new field to the new section, click on "Add New Sections" button. A New Section ID will automatically be assigned, and the Section Title and Description will be shown for Admin to fill in
- If Admin wants to add new field to an existing section, click on "Add Existing Sections"
- However, if there is no existing sections, the "Add to Existing Sections" button will be disabled.
- If Admin wants to add new field to the new section, click on "Add New Sections" button. A New Section ID will automatically be assigned, and the Section Title and Description will be shown for Admin to fill in
- Error Handling:
- Scenario 1: Input cannot be empty
- Scenario 2: Input cannot be the same
- (EXTRA) if "others" is added as an Input Options, it will automatically create a "(Others) _[Field Name] " question and added to the section that belongs to that question.
Steps to View Form Format
- At
Admin_form.html
, either click on the icon in "FORM DOCUMENT" column or any table rows - It will lead to
Admin_Individual_form.html
, where all the questions details (Eg: Field Type, Field Name) will be shown - At
Admin_Individual_form.html
, click on "VIEW FORM" button - It will lead to
Admin_overview_form.html
, where Admin can get an overview of how the form will look like
Steps to Adjust Table Column Size
- At
Admin_Individual_form.html
, click and drag the lines in between the columns (applicable for table header and row 1 only) - Once it is dragged, the table column will change its size accordingly
Approver_home.html
- This is the Approver's homepage
- It displays all the validated workflows (Form status is "VALIDATED") that requires the Approvers to validate the form after Admin Approval
- Approvers can click on the table row to go to the respective validated workflows page
Approver_individual_pendingwf.html
Steps to select individual workflow
- From
Approver_home.html
, Approvers can click on the table row - After selecting, it will bring the Approvers to
Approver_individual_pendingwf.html
where it will display all the forms that belong to that validated workflow
Steps to validate form
- From
Approver_home.html
, Approvers can click on the table row - After selecting, it will bring the Approvers to
Approver_individual_pendingwf.html
where it will display all the forms that belong to that validated workflow - At
Approver_individual_pendingwf.html
, Approvers can select "APPROVED" or "NOT APPROVED" from the dropdown menu in the Approval column.
5. **Scenario 2:** if Approvers selects "NOT APPROVED", the status (Status column) will change from "VALIDATED" to "REJECTED"
Steps to submit form
- From
Approver_home.html
, Approvers can click on the table row - After selecting, it will bring the Approvers to
Approver_individual_pendingwf.html
where it will display all the forms that belong to that validated workflow - At
Approver_individual_pendingwf.html
, Approvers can click on the table row to select the forms they want to view or submit - After selecting, it lead to
Approver_form_sequence.html
where it will display all the questions and answers submitted - Approver can check the form as well as fill in the required questions (eg: Admin Evaluation) and submit form.
Apporver_workflow.html
- This is the Approver's overview of all the existing workflows
- This page will show all the completed, in-progress and rejected workflows
- Approver can either check sequence, edit and delete workflows
Steps to Assign New Workflow
- At
Approver_workflow.html
, click on "Assign new workflow" button. A pop up will be shown on the screen. - Fill in the required details and submit
- Once submitted, the new workflow will be shown on the table.
- Error Handling:
- Scenario 1: Empty Inputs
Steps to Check Workflow Sequence
- From
Approver_workflow.html
, Approver can either click on the table rows or the document icon in the "check sequence" column - It will lead to
Approver_workflow_sequences.html
, where it will show all the forms and it's statuses that belongs to that workflow
Steps to Edit Workflow
- At
Approver_workflow.html
, click on the icon in the "Edit" column. A pop up will be shown on the screen. - Edit the required fields and submit
- Once submitted, the workflow will be updated with the new details
- Error Handling:
- Scenario 1: Empty Inputs
Steps to Delete Workflow
- At
Approver_workflow.html
, click on the icon in the "Delete" column. - After clicking, it will delete the workflow
Steps to Assign New Forms to Workflow
- From
Approver_workflow.html
, Approver can either click on the table rows or the document icon in the "check sequence" column - From
Approver_workflow_sequences.html
, click on "ASSIGN NEW FORMS" button, a pop up will be shown on the screen - Select on the forms, and click "Submit" button. The forms will then be added to the workflow.
Steps to Delete Form from Workflow
- From
Approver_workflow.html
, Approver can either click on the table rows or the document icon in the "check sequence" column - At
Approver_workflow_sequences.html
, click on the icon in the "Delete" column. - After clicking, it will delete the form from workflow.
Steps to View Form
- From
Approver_workflow.html
, Approver can either click on the table rows or the document icon in the "check sequence" column - At
Approver_workflow_sequences.html
, click on the any table rows. - It will lead to
Approver_form_sequences2.html
, where it will show all the questions and answers from the fomr - Approver CANNOT submit or edit form. If Approver would like to do so, they have to go to click on this link
Steps to Export Form
- From
Approver_workflow.html
, Approver can either click on the table rows or the document icon in the "check sequence" column - At
Approver_workflow_sequences.html
, click on the any table rows. - At
Approver_form_sequences2.html
, click on "EXPORT" button - The form PDF will be automatically downloaded to the desktop
Approver_accounts.html
- This is the Approver's view of the accounts page
- It displays all the accounts of all 3 types (Admin, Approver & Vendor) registered in the system.
- An Approver can create an account of any 1 of the 3 types by clicking either "CREATE VENDOR ACCOUNT", "CREATE APPROVER ACCOUNT" or "CREATE ADMIN ACCOUNT".
- An Approver can delete any existing accounts by clicking the delete button that is represented by a trash can icon.
- An Approver can update any existing accounts by clicking the update button that is represented by a document & pen icon.
Steps to create a vendor account
For creating Admin & Approver accounts, click the appropriate "CREATE _____ ACCOUNT" under step 1 and follow the rest of the steps.
- At
Approver_accounts.html
, Approver can click on "CREATE VENDOR ACCOUNT" located at the bottom right corner. - After clicking, a modal will appear that will allow the Approver to enter the necessary details to create the account.
- After filling in the information, the Approver can click on the blue Save button that's located at the bottom of the modal.
- If no fields are left empty and all fields are valid, the account is now successfully created.
Steps to update an account
Example given is for updating Vendor account, but the steps apply to all 3 types of accounts
- At
Approver_accounts.html
, under a particular account, Approver can click on the update button (represented by a document & pen icon) associated to the account to update account information. - After clicking, a modal will appear that will allow the Approver to edit the necessary details to update the account.
- After filling in the information, the Approver can click on the blue Save button that's located at the bottom of the modal.
- If no fields are left empty and all fields are valid, the account is now successfully updated.
Approver_form.html
- This page shows all the forms that exists
- Approver can either view , edit or delete form
Steps to Delete Form
- At
Approver_form.html
, click on the icon in "DELETE" column to delete form - After clicking, the form will be removed from the table
Steps to View Question Details
- At
Approver_form.html
, either click on the icon in "FORM DOCUMENT" column or any table rows - It will lead to
Approver_Individual_form.html
, where all the questions details (Eg: Field Type, Field Name) will be shown
Steps to Create New Form
- At
Approver_form.html
, click on "CREATE NEW FORM" button. A pop up will be shown on the screen - Fill in the Form Name field and click on the "Submit" button
- Form will be created and added to the table
Steps to Edit Form Name
- At
Approver_form.html
, either click on the icon in "FORM DOCUMENT" column or any table rows - It will lead to
Approver_individual_form.html
, where all the questions details (Eg: Field Type, Field Name) will be shown - Click on the Input beside Form Name, and fill in the new form name. It will edit the form name accordingly
Steps to Edit Section Title, ID, Description
- At
Approver_form.html
, either click on the icon in "FORM DOCUMENT" column or any table rows - It will lead to
Approver_individual_form.html
, where all the questions details (Eg: Field Type, Field Name) will be shown - At
Approver_Individual_form.html
,- Section Title: Click on the Input from "SECTION TITLE" column and edit accordingly
- Section Description: Click on the Input from "SECTION DESCRIPTION" column and edit accordingly
- Section ID: Click on the dropdown and select the section Ids from "SECTION ID" column
Steps to Edit Field Name, Field Type, Input Options, Required
- At
Approver_form.html
, either click on the icon in "FORM DOCUMENT" column or any table rows - It will lead to
Approver_individual_form.html
, where all the questions details (Eg: Field Type, Field Name) will be shown - At
Approver_Individual_form.html
,
- Field Name: Click on the Input from "FIELD NAME" column and edit accordingly
- Field Type: Click on the dropdown and select the field types
- Required: Click on the dropdown and select the option (True: it is required; False: It is not required)
- Input Options:
- "Edit Options" will only appear if the field types are either Radio or Checkbox
- To Edit the Options:
- Click on the "Edit Options"; A pop up will be shown on the screen
- Select the Number of Input Options
- Click on the "->"
- The options input will be shown; fill it in and click submit
- The new options will be shown in the "INPUT OPTIONS" column
- Error Handling:
- Scenario 1: Input cannot be empty
- Scenario 2: Input cannot be the same
- (EXTRA) if "others" is added into the Input Options, it will automatically create a "(Others) _[Field Name] " question and added to the section that belongs to that question.
Steps to Delete Field
- At
Approver_form.html
, either click on the icon in "FORM DOCUMENT" column or any table rows - It will lead to
Approver_Individual_form.html
, where all the questions details (Eg: Field Type, Field Name) will be shown - At
Approver_Individual_form.html
, click on the icon in "DELETE" column to delete the field.
Steps to Create New Field/Question
- At
Approver_form.html
, either click on the icon in "FORM DOCUMENT" column or any table rows - It will lead to
Approver_Individual_form.html
, where all the questions details (Eg: Field Type, Field Name) will be shown - At
Approver_Individual_form.html
, click on "CREATE NEW FIELDS" button. A pop up will be shown - Approver can either add the new field to a existing section or to a new section.
- If Approver wants to add new field to the new section, click on "Add New Sections" button. A New Section ID will automatically be assigned, and the Section Title and Description will be shown for Admin to fill in
- If Approver wants to add new field to an existing section, click on "Add Existing Sections"
- However, if there is no existing sections, the "Add to Existing Sections" button will be disabled.
- If Approver wants to add new field to the new section, click on "Add New Sections" button. A New Section ID will automatically be assigned, and the Section Title and Description will be shown for Admin to fill in
- Error Handling:
- Scenario 1: Input cannot be empty
- Scenario 2: Input cannot be the same
- (EXTRA) if "others" is added as an Input Options, it will automatically create a "(Others) _[Field Name] " question and added to the section that belongs to that question.
Steps to View Form Format
- At
Approver_form.html
, either click on the icon in "FORM DOCUMENT" column or any table rows - It will lead to
Approver_Individual_form.html
, where all the questions details (Eg: Field Type, Field Name) will be shown - At
Approver_Individual_form.html
, click on "VIEW FORM" button - It will lead to
Approver_overview_form.html
, where Approver can get an overview of how the form will look like
Steps to Adjust Table Column Size
- At
Approver_Individual_form.html
, click and drag the lines in between the columns (applicable for table header and row 1 only) - Once it is dragged, the table column will change its size accordingly