Automated Contracting Tool, a component of smashHit. smashHit is a Horizon 2020 project with the primary objective of creating a secure and trustworthy data-sharing platform with a focus on consent and contract management in a distributed environment such as the automotiveindustry, insurance and smart cities following GDPR.
- git clone https://github.com/AmarTauqeer/Contract.git.
- go to the backend folder.
- install GraphDB instance on your computer/laptop.
- Install the GraphDB instance on the server. GraphDB can be downloaded from https://www.ontotext.com/products/graphdb/download/.
- After successfully installing, point to the GraphDB Desktop icon. It will open the URL=http://localhost:7200/.
- Create a new repository from Setup->repository or via url= http://localhost:7200/repository/create/graphdb. The name of the repository and its ID is required.
- import Contract.rdf to GraphDB (Import->upload rdf files->click on import button and select the default graph option)
- Select the created repository from the dropdown at the top right corner.
- After selecting the repository click on the GraphDB icon on the top left corner, it will show the current active repository with different links. Select the link symbol that will show the SPARQL endpoint, which can be used for any type of SPARQL query form everywhere—for instance, http://amartauqeer:7200/repositories/Contract. Contract-license is the repository name where the remaining parts belong to the GraphDB instance.
- Finally, these are the URLs for accessing and inserting records into the GraphDB instance: HOST_URI_GET='http://server-url/repositories/Contract, HOST_URI_POST='http://server-url/repositories/Contract/statements'.
- update the .env file with above mentioned urls.
- sudo docker-compose -f docker-compose.yml up.
Run the command below from the root directory for deployement and access via http://localhost:5001. The Swagger API documentation can be accessed via http://localhost:5001/swagger-ui/.
python -m flask run
- For hasContractStatus choose from the list (statusCreated, statusUpdate)
- For hasStates choose from the list (statePending, stateInvalid, stateValid)
- For hasRole choose from the list (DataSubject, DataController, DataProcessor)
- For hasContractCategory choose from the list (categoryBusinessToConsumer, categoryBusinessToBusiness)
- Create term types and companies.
- Create contractors (need company id).
- Create a contract with basic information except contract terms, contract obligations, and contract signatures.
- Use the contract id from the previous step and create contract terms, contract obligations and contract signatures.
- Update the contract with terms, obligations, and signatures.
- Amar Tauqeer amar.tauqeer@sti2.at, amar.tauqeer@gmail.com
MIT License
Copyright (c) [2024] [Amar Tauqeer]
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.