pd-dev-test

module
v0.0.0-...-cbc718f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 21, 2023 License: Apache-2.0

README

Go Report Card PkgGoDev Build Status

Product Development Developer Tests

Scope of Work

Create a API driven service that queries specific API endpoints of the iconik MAM service.

  • Authenticate with iconik via the Rest API.
  • Collect all assets within the collection of the given ID listed below.
  • For each asset in said collection, extract its information and the metadata fields associated with the metadata view .
  • Create a HTML frontend as part of the service that renders the response payload and all associated metadata. (There is no requirement to render video,audio etc or implement file interaction.).

NOTE: This is a critcial and functional assessment of your skills, as such, you have complete creative freedom over how you choose to present the information in the rendered HTML page. It can be plaintext or pretified with tables, JS, CSS, pagenation etc.

Pre-requisites

Variables that need to be set
Iconik URL: https://preview.iconik.cloud
Iconik APP ID: <supplied-to-you>
Iconik Auth Token: <the-jwt-bearer-token-supplied-to-you>
Iconik Collection ID: bee80840-ad28-11ed-9ad0-5ade19c7915f
Iconik Metadata View ID: 43fbbf86-ad29-11ed-9ad0-1606c0be0ae8

Instruction Set

Usng the provided variables, create a lightweight service that:

  1. sends a GET request to iconik on the Iconik URL.
  2. said request should be Get Assets using the Collection ID as a filter, to which
    there are only four assets within said collection.
  3. For the assets listed in the response, GET the metadata fields of the Metadata View with the provided view ID.
  4. Serve the payload response to a webpage that lists the asset information of your choice and the metadata fields of the metadata view for each asset.
  5. Once complete please share the repository link back to product.dev@base-mc.com.

Demonstratable Requiremnents

  • ability to comment your code and describe the functions in use.
  • ability to implement a logger that can be referenced for testing and user experience feedback.
  • ability to manage data structures avoiding duplication instances.
  • ability to securely use access credentials. i.e. not to have hard-coded values.
  • ability to showcase error handling.
  • ability to implement web servers and support graceful shutdown.
  • ability to range and interate across objects effectively.
  • ability to document the build, and usage parameters in an accompanying readme file.

References

Iconik API Documentation

Specific API References

This Solutition

The application langauge of choice for this solution is Go.

Build

go build -o pd-test-service app/services/assetlisting/main.go

Usage

  -app-id string
        The iconik Application ID
  -auth-token string
        The iconik Authentication token
  -collection-id string
        iconik Collection Id
  -iconik-url string
        iconik URL (default "https://preview.iconik.cloud")
  -metadata-view-id string
        iconik Metadata View Id

 pd-test-service -app-id <AppID> -auth-token <AuthToken> -collection-id <CollectionID> / 
                    -iconik-url <IconikURL> -metadata-view-id <ViewID>       

LICENSE

see LICENSE

Directories

Path Synopsis
app
services/assetlisting/cmd
package cmd holds the command line argument and flag processsing in order to execute the service.
package cmd holds the command line argument and flag processsing in order to execute the service.
services/assetlisting/handlers
package handlers defines the handlers in use for the service.
package handlers defines the handlers in use for the service.
services/config
package config holds all configurational aspects of the service.
package config holds all configurational aspects of the service.
foundation
logger
Package logger provides a convenience function to constructing a logger for use.
Package logger provides a convenience function to constructing a logger for use.
pkg
assets
package assets is a module package to the overall service which handles sepcific asset management API requests within the realm of iconik.
package assets is a module package to the overall service which handles sepcific asset management API requests within the realm of iconik.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL