Solid Protocol Extension to Store and Share Data with Fleetbase
Solid, an innovative technology developed by Sir Tim Berners-Lee, offers a groundbreaking approach to managing data by enabling decentralized data ownership and interoperability through Linked Data principles. In the realm of logistics, Solid presents a promising solution for revolutionizing supply chain management by facilitating seamless data sharing among stakeholders. This document outlines Solid's capabilities and requirements for implementing a logistics solution, along with a user needs assessment highlighting UI/UX changes necessary for optimal user experience.
-
Decentralized Data Ownership: Solid allows individual entities, such as companies and suppliers, to maintain ownership of their data while granting controlled access to authorized parties. This feature ensures data security and privacy, crucial aspects in logistics operations.
-
Linked Data Sharing: Solid's ability to establish a knowledge graph facilitates interconnectedness among disparate data sources. This is particularly beneficial for supply chain management, as it enables holistic insights and transparency across the entire supply chain network.
-
Interoperability: Solid promotes interoperability by standardizing data formats and protocols, enabling seamless communication and integration between different systems and platforms. This facilitates smooth data exchange between logistics partners and enhances operational efficiency.
-
Collaborative Workflows: With Solid, logistics stakeholders can collaborate in real-time, share updates, and coordinate activities effectively. This fosters greater synergy and coordination within the supply chain ecosystem, leading to improved decision-making and responsiveness.
-
Solid Compatibility: Fleetbase must be compatible with Solid's architecture, ensuring seamless integration and data exchange within the Solid ecosystem.
-
Data Security and Privacy: Robust mechanisms for data security and privacy protection must be implemented to safeguard sensitive logistics information shared through Solid.
-
Linked Data Integration: Fleetbase should leverage Solid's linked data capabilities to establish a comprehensive knowledge graph that connects relevant supply chain data points, enabling advanced analytics and insights generation.
-
Interoperability Standards: Adherence to interoperability standards and protocols endorsed by Solid is essential to ensure compatibility and smooth interoperability with other logistics systems and platforms.
-
User-Friendly Interface: The solution should feature an intuitive user interface (UI) that simplifies data interaction and facilitates seamless navigation for logistics professionals across different roles and responsibilities.
-
Research and planning - Milestone 1
-
Back End Development - Solid Server, Solid Auth, Create Pods - Milestone 2
-
Back End Development - Pod for instance or Pod for Organization - Milestone 3
-
User Interface (UI) Enhancement - Manage Pod In Admin - Milestone 4
-
Further User Interface (UI) Enhancement - Milestone 5
- Create Pod on Solid: Begin by registering on Solid via solidcommunity.net.
- Retrieve Web ID: Obtain your Web ID from example: shivthakker.solidcommunity.net.
- Ability to create pod using Fleetbase directly.
- Install the ‘Solid Extension’ from Fleetbase Extensions Marketplace, accessible at the Instance Level.
- Add ‘Install Solid’ functionality within Fleetbase Extensions Tab.
- Create pod & server
- Input their server
- Input their solid ID on the server
- Once installed, users signing up or added to the company within this instance can utilize Solid for data management.
- Choose data storage preference: Browser Storage or Solid.
- Log in or sign up with your Solid Web ID.
- Authorize fleetbase.io to access your Pod.
- Solid allows precise control over data access permissions. Note: The current UI version (node-solid-server V5.1) supports toggling global access permissions only. If you prefer granular control, uncheck all boxes and authorize. Then, manage permissions explicitly.
- Ability to link Fleetbase account with Solid Web ID later via user settings.
- View and manage data stored on Solid Pod:
- Orders
- Payload
- Entity
- Service Quote
- Purchase Rate
- Retrieve list of Solid Pods approved to receive data.
- Ability to add approved pods to send order data too (Verification Process)
- View order details
- Send order details
- Select Pod to send order details too
- Send order details to Solid partners:
- View Order
- Send Order
- Select from Dropdown of Solid Partners
- Confirmation popup for sending data
- Review and confirm data to be sent
- Access a separate table to view all data shared with you or shared with other Solid users.
This project is funded through NGI0 Entrust, a fund established by NLnet with financial support from the European Commission's Next Generation Internet program. Learn more at the NLnet project page.
Solid offers a robust foundation for developing innovative logistics solutions that prioritize data ownership, interoperability, and collaboration. By leveraging Solid's capabilities and addressing specific user needs through UI/UX enhancements, logistics stakeholders can unlock new levels of efficiency, transparency, and value creation in supply chain management.
This document serves as a roadmap for designing and implementing Solid on Fleetbase, guiding stakeholders towards harnessing the full potential of decentralized, linked data sharing in the logistics domain.
This monorepo contains both the frontend and backend components of the Solid Protocol integration extension for Fleetbase. The frontend is built using Ember.js and the backend is implemented in PHP.
- PHP 7.3.0 or above
- Ember.js v4.8 or above
- Ember CLI v4.8 or above
- Node.js v18 or above
├── addon
├── app
├── assets
├── translations
├── config
├── node_modules
├── server
│ ├── config
│ ├── data
│ ├── migrations
│ ├── resources
│ ├── src
│ ├── tests
│ └── vendor
├── tests
├── testem.js
├── index.js
├── package.json
├── phpstan.neon.dist
├── phpunit.xml.dist
├── pnpm-lock.yaml
├── ember-cli-build.js
├── composer.json
├── CONTRIBUTING.md
├── LICENSE.md
├── README.md
Install the PHP packages using Composer:
composer require fleetbase/core-api
composer require fleetbase/fleetops
composer require fleetbase/solid-api
Install the Ember.js Engine/Addon:
pnpm install @fleetbase/solid-engine
🧹 Keep a modern codebase with PHP CS Fixer:
composer lint
⚗️ Run static analysis using PHPStan:
composer test:types
✅ Run unit tests using PEST
composer test:unit
🚀 Run the entire test suite:
composer test
🧹 Keep a modern codebase with ESLint:
pnpm lint
✅ Run unit tests using Ember/QUnit
pnpm test
pnpm test:ember
pnpm test:ember-compatibility
🚀 Start the Ember Addon/Engine
pnpm start
🔨 Build the Ember Addon/Engine
pnpm build
See the Contributing Guide for details on how to contribute to this project.
This project is licensed under the MIT License.