/epcis

.NET 5 implementation of GS1's EPCIS repository version 1.2

Primary LanguageC#Apache License 2.0Apache-2.0

Last Commit (develop) Build Status Maintainability codecov

Deploy to Azure Visualize in Armviz

FasTnT EPCIS

FasTnT EPCIS is a lightweight GS1 EPCIS 1.2 repository written in C# using .NET 5 and backed with PostGreSQL database.

Setup

Prerequisites:

  • PostGreSQL 9.5 or higher
  • .NET 5 SDK

Steps:

  1. Download the source code, and create a new user/database in PostGreSQL for FasTnT ;
  2. Start the repository with the command $ dotnet run -p src\FasTnT.Host\FasTnT.Host.csproj --urls "http://localhost:5102/" --connectionStrings:FasTnT.Database "{your connectionstring}" ;

That's it! You have a properly working EPCIS 1.2 repository.

HTTP Endpoints

EPCIS 1.2 endpoints:

The API is secured using HTTP Basic authentication. The default username:password value is admin:P@ssw0rd

  • Capture: POST /v1_2/Capture
  • Queries : POST /v1_2/Query.svc
  • Subscription trigger : GET /v1_2/Subscription/Trigger/{triggerName}

Capture endpoint only supports requests with content-type: application/xml or content-type: text/xml header and XML payload.

Queries endpoint supports SOAP requests on endpoint /v1_2/Query.svc. Note that it will not return the wsdl on a GET request.

The file documents\EPCIS Examples - 1.2.postman_collection.json contains XML requests examples to be run in PostMan, and the file EPCglobal-epcis-query-1-2-soapui-project.xml contains a project with SOAP example requests to be run in SoapUI.

See the wiki for more details.

Implemented Features

  • Capture
    • Events
    • Master Data (CBV)
  • Queries:
    • GetVendorVersion
    • GetStandardVersion
    • GetQueryNames
    • GetSubsciptionIDs
    • Poll
      • SimpleEventQuery
      • SimpleMasterDataQuery
  • Query Callback:
    • CallbackResults
    • CallbackQueryTooLargeException
    • CallbackImplementationException
  • Subscriptions:
    • Subscribe to an EPCIS request
    • Unsubscribe from EPCIS repository
    • Trigger subscriptions that register to specific trigger name

Authors

External contributions on FasTnT EPCIS repository are welcome from anyone. Many thanks to the people who already shown interest or contributed to this project (@grudolf, @jnoruzi and many others).

FasTnT EPCIS is primarily maintained by Louis-Axel Ambroise.

License

This project is licensed under the Apache 2.0 license - see the LICENSE file for details

Contact: fastnt@pm.me