/heritage_code_challenge

BSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

A3 by Airbus Group - Solidity Engineer - Solidity Challenge

Write the contract(s) to manage the inventory of a book library.

  • List all assumptions.
  • Code without a corresponding unit test will not be considered.

Requirements

  1. The library has an owner and librarians.
  2. The owner may add or remove librarians.
  3. Only librarians may check books out to an address.
  4. A book owner may trade the book to anyone else.
  5. Anyone may check in a book.
  6. Librarians may add/remove books to the library.
  7. Track the history of the book's ownership.
  8. Record damage & repair for a book.
  9. View book status/history.
  10. Log relevant events.

Use of the following tools/resources are required:

  • Truffle Framework
  • GitHub
  • Mocha/Chai
  • OpenZeppelin
  • npm

Submission

  1. Submit a pull request to this github repository to the applications branch.
  2. Structure the project such that: $ npm install Installs the project dependencies from a valid package.json $ npm run start Runs/Launches/Deploys the project $ npm run test Executes unit tests
  3. A valid Readme.md with valid markup that describes the project, installation and launch.

Bonus

  1. AutoGen/Doxygen GitPages documentation
  2. Web3 front end.