Final Project

Document created by dmiller Employee on Oct 21, 2015Last modified by jkim on Jun 24, 2019
Version 5Show Document
  • View in full screen mode

To complete this course and receive a certificate of participation, you must complete a final project on or before the deadline specified at the beginning of your course.  Additionally, if you have any questions about the project, please post them on the discussion forums.


Project Description:

There are two options to submit your final project. You are welcome to use more of the techniques showcased, but please ensure it includes at least the following grading scheme:

  1. Three types of HTTP Verbs (GET, POST and PUT, etc.) for requests to the PI Web API
  2. Use at least one Batch Controller Request that utilizes ParentIDs
  3. Uses one of the following features
    • Stream Updates
    • Channels
    • Batch Request Templates
    • AF Search
    • Generation of WebIDs
  4. Adheres to the Best Practices of using SelectedFields, WebIdTypes, Streamsets/Individual streams, Plot Data/Recorded Data/, and filtering PI Web API server side as appropriate.


Project Option 1 - At OSIsoft, we love to see what everyone is doing with our developer technologies, so if you would like to submit a portion of your development for your organization’s project which uses the PI Web API, please feel free. We ask that your submission:

  1. Not be longer than 250 lines of code including comments
  2. Meets the submission criteria above
  3. Has all associated files necessary to run the code
  4. Contains a ReadMe with instructions for running the application as well as expected behaviour when running
    • If the project is environment dependent, please send the code sample and video demoing the application


Project Option 2 - If you would prefer not to share your company’s use case or work done towards that project, we understand. If this is the case, we would like you to do the following for the final project.

Build a dashboard using Javascript/Typescript, HTML, and CSS that does the following:

  • Contains a plot for at least 1-time series dataset
  • Allows the user to select an element and attribute on this element to plot
  • Allows the user to enter the start and end time of the plot
  • Allows the user to POST new values to the attribute



How to Submit the Project:

Simply email your code to your course facilitators. You should have received the contact information for the course facilitators on the first day of the course. We do not recommend contacting the facilitators using PI Square inbox since most of our facilitators receive a large number of automated PI Square notifications. It is best to contact them on the course discussion forums or via email.


Note About Original Work:

Please remember that no extensions will be given for the final project. Your submission must be your own work, and not copied from another student, course videos or online resources. No credit would be given for plagiarized work, partially completed work, and no refunds would be given for failed projects.


Note About Customer Data:

Absolutely no customer data will be shared outside of the Student / Facilitator relationship. The facilitator will never ask a student to share proprietary information with the class. Anything shared with the facilitator as proof of work will be destroyed at the end of the course. If however, you work on a generic project and wish to share it with other users on the community, OSIsoft can help facilitate that. This will be completely at your discretion and OSIsoft would take no legal responsibility.