DEAN Stack is a blockchain enabled, Angular and NodeJS powered framework to build decentralized web-apps that includes uPort for identity management.
- Angular
- Uport-connect
- NodeJS
- Ganache-cli (Testrpc for Ethereum)
- Mongo DB
- Uport-js
clientandserverinteracts using REST APIs
This framework uses a number of open source projects to work properly:
| Project | Version |
|---|---|
| angular | v5.2 |
| uport-connect | v0.7 |
| bootstrap | v4.1 |
| jquery | v3.3 |
| node | v8.11 |
| web3 | v1.0 |
| uport | v0.6 |
| express | v4.16 |
| solc | v0.4 |
| mongoose | v5.1 |
This framework requires the below projects to be already installed on the system
| Project | Version |
|---|---|
| angular-cli | v1.7 |
| npm | v5.6 |
| ganache-cli | v6.1 |
| mongodb | v3.4 |
ganache-clishould be running before starting theserver
mLab - Database-as-a-Service is used for MongoDB
$ cd client
$ npm install
$ ng serve** Only in case of QR Code not showing on login page or
crypto.createHash()undefined error, please install thecrypto-browserifymodule as a project dependency$ npm install crypto-browserify.
$ cd server
$ npm install
$ node serverEnable
Cross-Origin Resource Sharing (CORS)on your browser if you are runningclientandserveron the same machine.
Client will run on
localhost:4200, Server will run onlocalhost:3000
Built on Angular - a powerful front-end framework. At first user needs to use uport app and scan the QR code on the login screen to login.
After logging in, an example smart contract is written in solidity language. You can deploy a contract, fetch events from it, and update it.
Every result of an action will be logged in the logs.
Built on NodeJS and Express framework. Server is connected to Ethereum test-rpc using web3 and connected to MongoDB using mongoose.
Client will interact with the server using REST APIs. The server, upon request from the client, deploys contract on the test-rpc, fetches events from a contract and updates a contract. An appropriate response is sent back to the client after serving the request.
The framework has solidity compiler in-built and methods compile, deploy and interact with smart contracts. Means, no need to use any third-party apps such as remix to compile, deploy and interact with smart contracts.
