Skip to content

Contains specifications for 51Degrees APIs and software

Notifications You must be signed in to change notification settings

51Degrees/specifications

Repository files navigation

Specifications

Introduction

This repository contains specifications for the Pipeline API and some 51Degrees products.

Contents

Name Description
Pipeline Specification Specification for the Pipeline API and its operation. This covers core functionality.
Device Detection Specification Specification for the Device Detection service. This builds on the concepts and features defined in the Pipeline specification.
Data Model Specification Details of the data model used by Device Detection and by other services in the future.

Notes for implementers

  • These specifications are written to be language agnostic. The precise details of how to implement features is often not specified. This allows implementers to choose the most appropriate mechanism for the target language. For example, Java and .NET developers would be familiar with the use of a fluent builder to create instances. However, a Node.JS developer would not normally use this approach.
  • Java and .NET are considered the reference implementations. At least one of these SHOULD be reviewed by the reader to see what a real-world implementation of the specification looks like. There is also a section containing reflections on the architectural choices made when creating the Java and .NET versions. This could be helpful when designing future implementations.
    • Two of the key features that informed major design decisions were support for processing using native binaries and the ability to easily swap processing from on-premise to cloud. In some cases, these feature prevented the implementations from following more idiomatic approaches.
  • URLs in these specifications are fixed. Code comments SHOULD include references to these URLs in order to avoid re-writing the same descriptions and definitions in multiple places.
  • CI/CD scripts and the like are out of scope. However, implementers will need to be mindful of the requirement to have the ability to build and test the software in a non-interactive CI/CD environment. See 51Degrees CI/CD documentation for more details.

About

Contains specifications for 51Degrees APIs and software

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published