A web application for building, validating, and searching GS1 EPCIS event profiles — enabling supply chain visibility and traceability compliance.
Live Web Application · Event Sentry · Docker Guide
|
Profile Builder Visually create JSON Schema profiles for EPCIS document and event validation |
Event Validator Validate EPCIS events against profiles with instant compliance feedback |
Snippet Search Search and filter reusable EPCIS event snippets from the library |
The quickest way to get started:
# Docker
docker pull ghcr.io/openepcis/openepcis-snippet-web:latest
docker run -p 3000:3000 ghcr.io/openepcis/openepcis-snippet-web:latest
# Podman
podman pull ghcr.io/openepcis/openepcis-snippet-web:latest
podman run -p 3000:3000 ghcr.io/openepcis/openepcis-snippet-web:latestOpen http://localhost:3000 in your browser. See the Docker Guide for compose setup and environment variables.
Requires Node.js 18+ and pnpm.
git clone https://github.com/openepcis/openepcis-snippet-web.git
cd openepcis-snippet-web
pnpm install
pnpm devOpen http://localhost:3000 in your browser.
pnpm build # Server-side rendered build
pnpm generate # Static site generationpnpm dev # Start dev server at http://localhost:3000
pnpm build # Production build
pnpm generate # Static site generation
pnpm lint # Run ESLint
pnpm clean # Remove all build artifacts and dependenciesapp/
├── pages/ # Route pages (index, profile-builder, event-validator, snippet-search)
├── components/ # Vue components (JsonEditor, config panels, header/footer)
├── composables/ # Reusable logic (GitHub profile fetching, EPC identifiers)
├── data/ # EPCIS field definitions, dimensions, sensor constants
├── types/ # TypeScript interfaces
└── utils/ # Utility functions
- Nuxt 4 — Vue.js framework
- Nuxt UI — UI components
- Tailwind CSS — Styling
- AJV — JSON Schema validation (multi-draft support)
- CodeMirror 6 — Code editor with JSON syntax
- OpenEPCIS Event Sentry — EPCIS event profiles, JSON Schema snippets, and validation SDK
- GS1 EPCIS Standard — The underlying traceability standard
We welcome contributions! Here are ways to get involved:
- Bug Reports — identify and report issues
- Feature Requests — suggest improvements
- Pull Requests — submit code changes
- Documentation — help improve guides