Requirement
The customer requires the ability to manage work orders stored in the customs record through the web app, necessitating the following features for updating work orders:
- Update field values in work orders.
- Add comments and display a list of previous comments.
- Add attachments and display a list of previous attachments.
- Showcase previous changes and the history of work orders.
- Add items to work orders and display a list of previously added items in the work orders.
Prerequisites:
- We require a custom record to efficiently store work orders. The creation of this record is essential for the successful implementation of our system. We need to incorporate a field in the user custom record or customer record to securely store the password for user authentication on the website.
- We have decided to utilize Firebase for hosting the website. To facilitate this, we will be creating a Firebase account from our end to manage the hosting and set up the domain, which is provided for free by Firebase. As part of this process, we will be extending an invitation to you for access to Firebase, enabling you to oversee the management of Firebase services. If you wish to add a custom domain to Firebase, please provide the necessary details.
Deliverables
When a user enters the page, they are automatically redirected to the login page to access the Work Order Management System. After logging in, the user is redirected to the Work Order List page.
App Features
- Header – The header will display user information such as the user name and ID. The user icon in the header will offer a dropdown menu with options for signing out to log out the user. On logout, a simplified header with the company’s brand logo will be displayed.
- Sidebar – The sidebar will contain a list of pages, currently including maintenance of work orders. Future updates can expand the page list and introduce new pages in phase 2.
- Main Content – The section will display main details based on selected options
We will be creating a web app using Netsuite, Next.js, and Firebase to build the application. Below, the outline the details:
Scope of the Project:
- Firebase console (https://console.firebase.google.com/)
- Set up front end.
- Integrate Firebase with frontend.
- Make API calls from your Next.js components to the Netsuite backend using Axios, Fetch, or any other suitable method.
- Deploy your Next.js frontend to Firebase. We can use hosting services like Firebase Hosting for the frontend.
Login page
The user is required to log in to access the website
- The username will be the email address stored in the employee record, or we can utilize the custom record.
- By using Custom encryption, the credentials were encrypted and then stored in the password field and the timestamp (Time of user creation) will store in the “timestamp” in the customer record.
- Initially, we will add a test password in the User Authentication customer record for the initial phase.
Work order List page
This page will provide a comprehensive list of work orders that can be filtered by date, work order number, and status.
The section is organized with 5 columns in a horizontal layout and 10 columns in a vertical layout. The list page is expected to display the following information: ID, DATE, NAME, CATEGORY, and ASSIGNE.
Work order Detail page
The users has the ability to access details of the work order, create new work orders, and update existing work orders. The page includes a list of values that the user can modify. The specific values and fields are provided below.
- Category: This is a list field sourced from NetSuite. Users have the option to choose the category for their work order.
- Actual Priority: Another list field with values derived from NetSuite, indicating the priority level of the work order.
- Park: A list field with values obtained from NetSuite, allowing users to select the park associated with the work order.
- Physical Location: Similarly, a list field with values from NetSuite, enabling users to specify the physical location of the work order.
- Functional Location: This field, sourced from NetSuite as a list, allows users to designate the functional location of the work order.
- Assignee: Also sourced from NetSuite as a list field, the assignee represents the user information stored in the custom record of the work order user.
- Item: users can select items from NetSuite using this list field. Multiple items can be chosen for a single work order.
- Organization: Another list field with values from NetSuite, allowing users to specify the organization associated with the work order.
- Organization Tree: This list field, with values from NetSuite, enables users to select the organization within the work order.
At the bottom of the work order detail page, you will find option buttons labeled ‘Add Comment’ and ‘Add Attachment.’ These buttons provide users with a direct and convenient redirection to the respective work order comment and attachment pages, facilitating the process of adding comments and attachments.
Attachment Page
Upon clicking the attachment icon, the entire list of work orders will be displayed, enabling users to choose the specific work order to which they wish to add attachments. Once the work order is selected, user can attach files (initially limited to PDFs) to the work order. The page offers features for adding new attachments, viewing previous attachments, and downloading them.
Furthermore, the NetSuite admin has the ability to view attachments on the custom record under the ‘List Value Default’ subtab fields.
Comment Page
When the user clicks the chat icon, it redirects to a list of work orders, allowing the user to select the specific work order to which they want to add a comment. The user can view their previous comments on the comment page and is able to add new comments using the ‘Add Comment’ button.
In the context of NetSuite, a custom record is created and linked to the work order custom record to store the comments made by users.
Material Page
When the user clicks the item icon, it redirects to a list of work orders, allowing the user to select the specific work order to which they want to add items. The user can view their previously added items on the material page and is able to add new items using the ‘Add’ button.
Regarding items, the website currently displays only inventory and non-inventory items from NetSuite. The items are synchronized to the website for user convenience
Note: We will be implementing REST API authentication to facilitate the retrieval of items from NetSuite to the website