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.
- The library has an owner and librarians.
- The owner may add or remove librarians.
- Only librarians may check books out to an address.
- A book owner may trade the book to anyone else.
- Anyone may check in a book.
- Librarians may add/remove books to the library.
- Track the history of the book's ownership.
- Record damage & repair for a book.
- View book status/history.
- Log relevant events.
- Truffle Framework
- GitHub
- Mocha/Chai
- OpenZeppelin
- npm
- Submit a pull request to this github repository to the applications branch.
- 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 - A valid Readme.md with valid markup that describes the project, installation and launch.
- AutoGen/Doxygen GitPages documentation
- Web3 front end.