Challenges

This document is designed to test your knowledge about the Peek platform.

Challenge #1: Lifecycle Methods

This challenge will test your knowledge of lifecycle methods within Peek services.

Tasks:

  • Log the current time when the peek logic service is in its start lifecycle.

The following module will be required:

import datetime

The output should resemble this:

10-Aug-2020 10:08:44 DEBUG peek_plugin_tutorial._private.logic.LogicEntryHook:2020-08-10 10:08:44.223694
10-Aug-2020 10:08:44 DEBUG peek_plugin_tutorial._private.logic.LogicEntryHook:Started

Challenge #2: Admin Plugin Tab

This challenge will test your knowledge of the web interfaces within Peek services.

Tasks:

  • Develop a new tab in the “Tutorial Plugins” page within the admin Peek site.

The output should resemble this:

../../_images/Challenge2.png

Challenge #3: Field/Office Tasks

This challenge will test your understanding of the various components located within the admin Peek site, and how they interact with other Peek services.

Tasks:

  • Send a task to the field / office service from the admin Peek site.

The output should resemble this:

../../_images/Challenge3.png

Challenge #4: VortexJs Tuple Actions

This challenge will test your understanding of how tuple actions work, and how they are used by the various Peek services.

Tasks:

  • Create an action that doubles the current int value displayed in the StringIntComponent.
  • Initiate the action via a button click on the field app.
  • Display the outcome on the field app.

The output should resemble this:

../../_images/Challenge4.png

Challenge #5: Worker Service

This challenge will test your understanding of how the worker service and logic service communicate with one another.

Tasks:

  • Create a new task named “SpecificNumber” for the worker service to complete.
  • Make the task log the number “24” and the time taken to complete the task every 5 seconds.

The output should resemble this:

10-Aug-2020 14:10:31 DEBUG celery.worker.request:Task accepted:peek_plugin_tutorial._private.worker.tasks.SpecificNumber.pickSpecificNumber[fc6ee8bf-1e11-4481-b84b-66cf7e4f197a] pid:82053
10-Aug-2020 14:10:31 INFO celery.app.trace:Task peek_plugin_tutorial._private.worker.tasks.SpecificNumber.pickSpecificNumber[fc6ee8bf-1e11-4481-b84b-66cf7e4f197a] succeeded in 0.0007026020030025393s: 24