Giter Site home page Giter Site logo

epcis-1's Introduction

Build Status

FasTnT EPCIS

FasTnT EPCIS is a simple, lightweight GS1 EPCIS 1.2 repository written in C# using .NET Core 2.2, backed with PostGreSQL database.

Setup

Prerequisites:

  • PostGreSQL 9.5 or higher
  • .NET Core 2.2 SDK

Steps:

  1. Download the source code, and create a new user/database in PostGreSQL for FasTnT ;
  2. Update the connection string: $ dotnet user-secrets set ConnectionStrings:FasTnT.Database "{your connectionstring}" -p src\FasTnT.Host\FasTnT.Host.csproj ;
  3. Start the repository with the command $ dotnet run -p src\FasTnT.Host\FasTnT.Host.csproj ;
  4. Create the SQL schemas and tables: curl -X POST http://localhost:54805/EpcisServices/1.2/Database/Migrate ;
  5. That's it! You have a properly working EPCIS 1.2 repository.

HTTP Endpoints

EPCIS endpoints:

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

  • Capture: POST /EpcisServices/1.2/Capture
  • Queries : POST /EpcisServices/1.2/Query
  • Subscription trigger : GET /EpcisServices/1.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 XML and SOAP requests. Note that it will not return the wsdl on a GET request. SOAP requests must contain a content-type header with value set to either application/soap+xml or text/soap+xml.

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

Others endpoints:

  • Database migration: POST /EpcisServices/1.2/Database/Migrate
  • Database rollback: POST /EpcisServices/1.2/Database/Rollback

These database endpoints are only available when the EPCIS server is in Development configuration.

The file documents\EPCIS_Samples.postman_collection.json contains examples of HTTP requests that you can perform on FasTnT (import and run it in PostMan)

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: [email protected]

Last update: may 2019

epcis-1's People

Contributors

devhoid avatar louisaxel-ambroise avatar grudolf avatar

Watchers

James Cloos avatar Victor avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.