Sept Status Report
Current Status Sept 09
This contains the current status of my repo
Todo List
Decide or using vue-bootstrap or equaivalent- start adding more tests for truffle
- Deploy to test networks,
ropstenand rinksby
Probably will end up using https://www.npmjs.com/package/vue-chartjs for charts (who owns the tokens) and https://www.npmjs.com/package/vee-validate to verify inputs and I will use vuetifyjs partly to experiment with a new ui framework and become more familar with front-end development in addition to copying the "login-form lol".
References for CI
Used
- https://flatmap.it/2017/11/16/starting-selenium-server-inside-travis/.
- and pointers for the truffle-ci box.
- https://truffleframework.com/tutorials/using-infura-custom-provider
Vue.js truffle box
A truffle box
to serve as the foundation of any Truffle
and Vue.js
dApp. Comes with Vue.js
, vue-router
, Vuex
and sass-loader
. A minimalist user authentication smart contract is also provided.
Directory structure
This truffle box is crafted to enforce a clean directory structure.
/
|
+-- build/
| |
| +-- contracts/
| | |
| | + truffle compiled contracts
|
+-- config/
| |
| +-- babel/
| | |
| | + babel config files - to come (babel does not allow to specify a custom config file path - yet - so the babel configuration occurs in the package.json file for now)
| |
| +-- eslint/
| | |
| | + estlint config files
| |
| +-- postcss/
| | |
| | + postcss config files
| |
| +-- vue-loader
| | |
| | + vue-loader config files
| |
| +-- webpack/
| | |
| | + webpack config files
|
+-- contracts/
| |
| + solidity contracts
|
+-- migrations/
| |
| + truffle migrations files
|
+-- scripts/
| |
| + webpack scripts
|
+-- src/
| |
| + vue.js dapp files
|
+-- static/
| |
| + vue.js dapp static files
|
+-- test/
| |
| +-- e2e/
| | |
| | + e2e test files
| |
| +-- truffle/
| | |
| | + truffle test files
| |
| +-- unit/
| | |
| | + unit test files
Installation
Install Truffle and an Ethereum client - like EthereumJS TestRPC.
npm install -g truffle // Version 3.0.5+ required. npm install -g ganache0cli
Download this repo
Launch
testrpc
.testrpc <options>
Compile and migrate the contracts.
truffle compile truffle migrate
Run the webpack server for front-end hot reloading. Smart contract changes do not support hot reloading for now.
npm run start
Tests
This box comes with everything bundled for unit
, e2e
and truffle
contracts testing.
unit
ande2e
tests.npm run test/dapp
truffle
contracts tests.npm run test/truffle
and you can run the tests by using
truffle test --network development test/truffle/TestUsers.sol test/truffle/user.js
Alternatively you can directly run
unit
,e2e
andtruffle
contracts tests in one command.npm run test
Build for production
To build the application for production, use the build command. A production build will be compiled in the dist
folder.
npm run build
Viewing Documentation
Viewing the docs can be build using the npm package http-server, because I'm using the plant-uml plugin, files must be built and then viewed.
http-server ./build -i
Tasks complete
Things to Added to this truffle box
Implement Continuous Integration/Continuous Deployment (via surge)Creating a documentation format (jsdoc, sphinx or possibly latex based, maybe docsuarus)- !!allow for all documentation to be generated by a script~~ complied with scripts
Deploy a navigation bar in vue.js instead of react (finish by July 8).