Skip to content
This repository has been archived by the owner on Feb 24, 2023. It is now read-only.
Matthew Hall edited this page Aug 16, 2019 · 46 revisions

NR Get Token Wiki

Purpose

We are creating and maintaining this wiki to share what the Common Service Showcase Team has learned while working to support Developer Relations in the Information, Innovation and Technology Division.

What is GETOK?

GETOK is fundamentally a tool to automate the process for developers to receive access to APIs that require permission to use.

What are Common Services?

A common service can be many different things. The characteristic they all share is that they were built once to provide benefit many times. Characteristics of a healthy common services are

  • A self-service process for usage is fully documented
  • A showcase application is available to demonstrate its capabilities
  • Examples are provided for how to implement the common service

Common Service Types

Common Hosted Services

These are running and supported in one location where many applications or people go to us it.

EXAMPLE: apps.smtp.gov.bc.ca is an SMTP Server that runs and accepts requests from other applications to send out emails from within the SPANBC Network.

Shared Software Components

An individual software component is a software package, a web service, a web resource, or a module that encapsulates a set of related functions (or data). Definition from Wikipedia: Component-based software engineering Software components can be installed, called, referenced or run just for one application, but the source code is not customized for each application that uses it.

EXAMPLE: nr-email-microservice is a Microservice that can be deployed as a container in your product to enable sending email, and checking the status

Shared Library

Applications will commonly used many of these to aid developers in fetching data on a webpage, formatting and styling the webpages, creating geospatial maps, displaying and working with tabular data, managing the state of the application, routing you to the right location as you click on links, or interacting with APIs.

EXAMPLE 1: ReactJS which is a JavaScript library used for building user interfaces.
EXAMPLE 2: LeafletJS used for creating maps.

Shared Best Practices

Many Tools, Disciplines, Processes, Practices, Methodologies and Frameworks each with their own core activities have been developed to help establish best practices for accomplishing certain types of work. There are plenty of generic examples in Software Development for doing things like collecting requirements, or how to setup a pull request-based CI/CD pipeline. When a Developer Relations team puts together documentation to assist developer with these processes, these can lead to consistently applied approaches that will improve the ability to support the various implementations of technology components when team members change on a team.

EXAMPLE 1: NR Showcase DevOps Tools Which is instructions for the setup of the DevOps pipeline tools which will be installed, configured and self-hosted by that application team to provide continuous integration and continuous delivery functionality for each pull request done on the code of their application.
EXAMPLE 2: Javascript & Node.js Testing Best Practices - From what I've seen developers are writing unit tests. But a shared best practice like this can bring a lot of value to the organization.

Clone this wiki locally