{"id":22031978,"url":"https://github.com/datencia/blockchain-specimen-traceability","last_synced_at":"2026-05-19T19:31:44.958Z","repository":{"id":232644408,"uuid":"697944953","full_name":"datencia/blockchain-specimen-traceability","owner":"datencia","description":"Traceability system of pathological anatomy samples based on Blockchain","archived":false,"fork":false,"pushed_at":"2024-06-18T17:15:18.000Z","size":576,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-09T09:51:35.897Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/datencia.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-09-28T19:54:43.000Z","updated_at":"2024-06-18T17:15:14.000Z","dependencies_parsed_at":"2024-06-18T22:10:16.739Z","dependency_job_id":null,"html_url":"https://github.com/datencia/blockchain-specimen-traceability","commit_stats":null,"previous_names":["datencia/blockchain-specimen-traceability"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/datencia/blockchain-specimen-traceability","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datencia%2Fblockchain-specimen-traceability","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datencia%2Fblockchain-specimen-traceability/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datencia%2Fblockchain-specimen-traceability/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datencia%2Fblockchain-specimen-traceability/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/datencia","download_url":"https://codeload.github.com/datencia/blockchain-specimen-traceability/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datencia%2Fblockchain-specimen-traceability/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33229365,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-19T15:49:41.270Z","status":"ssl_error","status_checked_at":"2026-05-19T15:49:22.917Z","response_time":58,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-30T08:24:44.966Z","updated_at":"2026-05-19T19:31:39.947Z","avatar_url":"https://github.com/datencia.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Blockchain-based Specimen Traceability\n\nTraceability system of pathological anatomy samples based on Blockchain.\n\n## Introduction\n\nADAPTATION COURSE TO THE DEGREE IN COMPUTER ENGINEERING (CAI) - PER 8270 Sept 2023\n\nThis repository contains my bachelor's project in computer science completed at [UNIR](https://www.unir.net/).\n\nThe project is about the creation of a traceability system for pathological anatomy samples based on blockchain\n\n## Project Structure\n\nThis section describes the folder and file structure of the project:\n\n```\n.\n├── apps\n│   ├── caliper-tests\n│   ├── chaincode\n│   ├── chaincode-listener\n│   └── rest-api\n├── docs\n├── scripts\n├── test-network\n├── CHANGELOG.md\n├── nx.json\n├── package.json\n├── package-lock.json\n└── README.md\n```\n\n- **apps:** Folder containing the chaincode and the demo applications.\n   - **caliper-tests:** Folder containing Hyperledger Caliper tests.\n   - **chaincode:** Folder containing smart contracts for Hyperledger Fabric.\n   - **chaincode-listener:** Folder containing a small Node.js application listening for smart contract events.\n   - **rest-api:** Folder containing the Node.js REST API application.\n- **docs:** Project documentation folder.\n- **scripts:** Folder containing utility scripts.\n- **test-network:** Folder containing the Hyperledger Fabric test network setup.\n- **CHANGELOG.md:** Changelog file for tracking project changes.\n- **nx.json:** Configures Nx workspace settings, defining project structure and dependency management specific to Nx.\n- **package.json:** Defines project metadata, scripts, and dependency management.\n- **package-lock.json:** Locks down the exact versions of dependencies for reproducible builds.\n- **README.md:** This file.\n\n## Prerequisites\n\nBefore you start, you must install some prerequisite technology required:\n\n- [Docker](https://www.docker.com/get-started) (and docker-compose)\n- [Node.js](https://nodejs.org/en/about/) v18 or higher\n- [Jq](https://jqlang.github.io/jq/)\n\n## Quickstart\n\n1. Clone this repo\n\n   ```shell\n   $ cd $HOME\n   $ git clone https://github.com/datencia/blockchain-specimen-traceability.git\n   $ cd blockchain-specimen-traceability\n   ```\n\n1. Install the project dependencies and the Hyperledger Fabric docker images and binaries\n\n   ```shell\n   $ npm install\n   ```\n\n1. Generate the `.env` files with the sample configuration for the demo applications\n\n   ```shell\n   $ ./scripts/initialize_env.sh rest-api\n   $ ./scripts/initialize_env.sh chaincode-listener\n   ```\n\n1. Create the test network and a channel\n\n   ```shell\n   $ npm run network:start\n   ```\n\n1. Deploy the smart contract\n\n   ```shell\n   $ npm run chaincode:deploy\n   ```\n\n1. Run the demo application (REST API)\n\n   ```shell\n   $ npx nx run rest-api:start\n   ```\n\nNow you can interact with the chaincode using the REST API provided listening on port 3000.\n\nOnce the application is running, open your browser and navigate to `http://localhost:3000/explorer`\nto see the OpenApi specification.\n\n### Chaincode Events\n\nAlternatively, you can also run a small application that will listen for events produced by the chaincode.\nThis application is only provided as an example. Each time it receives an event from the chaincode it produces a\nconsole echo to show that the event has been captured.\n\nTo run this application, open a new command terminal and run:\n\n```shell\n$ npx nx run chaincode-listener:start\n```\n\n## Clean up\n\nWhen you are finished, you can bring down the test network. The npm script provided will remove all\nthe nodes of the test network, and delete any ledger data that you created.\n\n```shell\n$ npm run network:stop\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatencia%2Fblockchain-specimen-traceability","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdatencia%2Fblockchain-specimen-traceability","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatencia%2Fblockchain-specimen-traceability/lists"}