-
Notifications
You must be signed in to change notification settings - Fork 158
Google Summer of Code 2021
Below are a list of project ideas organised by technical areas relevant to the Accord Project: user interface, data modelling, languages and compilers, blockchain, and natural language processing.
We also welcome students' input on those projects or alternative project proposals in the different areas listed below and in scope with the goals of the Accord Project.
CiceroMark to DOCX (OOXML)
Description: Export an Accord Project extended markdown document to MS Word .docx
format, ensuring that extensions (such as clauses) are preserved upon re-import. This will allow more flexibility and portability with round trip transformation of docx files to markdown and back which contain smart clause templates
Challenges: Complex nested model (and JSON) transformation. Advanced JavaScript. Understand internals of DOCX format and how to manipulate it using a JavaScript API
Skills: JavaScript
Mentor: Jolene Langlinais, Aman Sharma, Dan Selman, Tom Brooke
Description: It would be lovely to be able to sign templates. (to authenticate the source). And to sign contracts (to authenticate the contract signatories). More context can be found in the Issues around signing the contract / identify & digital signatures, signature blocks in the document itself, and signing the template archive
Challenges: We have a stalled PR open on this that can be used as a starting point
Skills: JavaScript, Node, Cryptography
Mentor: Martin Halford, Tom Brooke
IDEA REMOVED: Due to changed life circumstances, original mentors are unable to dedicate enough time to support this project in Google Summer of Code 2021.
Description: Add pop-ups to Contract Editor UI for editing variables in contracts. Providing a modal pop-up to edit variables would be useful as it would constrain users from entering bad data. The variables could be rendered as links in the contract text, and clicking on a variable should open the appropriate pop-up. Find more context in this Issue
Challenges: The main hurdle is to create a pop-up that works for one specific variable and data type. This would need to be accessible and thoroughly tested. We can then move on and use this as a template for further variable data support. Form field validation, multiple data types such as address, currency, date/time, etc.
Skills: JavaScript, React, SlateJS
Mentor: Jolene Langlinais, Diana Lease, Michael Grover
Description: Allow templates to be deployed to Fabric
Challenges: Hyperledger Fabric v2.x chaincode
Skills: Hyperledger Fabric, Docker, JavaScript, Node
Mentor: Dan Selman
Description: Mapping between the natural language text of a contract and attempting to classify data types such as monetary amounts, dates and legal specific terms such as agreement parties etc. into cicero variables from the existing model library
Challenges: NLP for entity extraction, Weak Labelling using the Snorkle Framework, combining Machine Learning and heuristics
Skills: Python, Natural Language Processing, Weak Labelling
Mentor: Niall Roche, Alastair Moore
Description: Add multiple grammars to a template, one per locale
Challenges: Cicero archive format extension, API changes. Default date/time/money formats
Skills: JavaScript, Node
Mentor: Dan Selman
Accord Project
A leading Linux Foundation open source initiative developing an ecosystem and open source tools for smart agreements