blockternship / dpanc Goto Github PK
View Code? Open in Web Editor NEWSelf Health Management dApp for Diabetes
License: GNU General Public License v3.0
Self Health Management dApp for Diabetes
License: GNU General Public License v3.0
When switching from dashboard to another page (i.e. Contact Us) followed by going back to the dashboard leads to the data "disappearing", but only takes a click on another filter (3 mo or 6 mo) to bring the data back.
It would be extremely useful for users to see how their numbers are compared to other people.
This story is to design how we will store user's data in a global store of some kind.
We need a service to parse incoming csv files and prepare them to be stored into IPFS
depends on #15
The User dashboard view will default to past month. The User can select the time frame to show statistics over, such as 3 month, 6 month, etc.
We need to setup Truffle so that we can test & deploy our contracts.
This task is to setup a basic Hello World
contract and setup a basic test for it (including ganache setup).
When a user uploads their data on our basic user upload form, the data should be saved to IPFS.
The IPFS hash should eventually be saved to our dPanc contract, but the scope of this story is just to upload to IPFS and log the hash returned.
Web app should leverage a React frontend, and use an Express.js proxy backend server to make API calls.
Should have a basic home page that makes an Express.js API call to render "Hello World" text.
https://github.com/orbitdb/orbit-db
The current IPFS implementation that saves hashes on the Ethereum network does not scale well as time passes. 1 transaction is required per month of data stored.
We should look into OrbitDB
as they offer a database implementation on top of IPFS. This allows us to create a database (data store) for each user, and save the hash that points to the OrbitDB database for that user. This means we only need to use 1 transaction to save the database hash, and subsequent updates to the user's data do not require any transactions.
Integrate web3 into our web app by leveraging the browser's MetaMask (if exists).
The scope of this task is to be able to detect MetaMask and to extract the user's first account address to display on the upload form as a pre-filled box.
Create a basic upload form on home page using Google Material-UI framework (without metamask integration).
Should be static and buttons should not have any functionality.
Once a user submits their data for the first time, we should create an OrbitDB database for them and upload the OrbitDB address to our dPanc contract.
We will name the user's OrbitDB database as the keccak256 hash of their Ethereum address (using web3
utils).
Another per-requisite is #27 as the dPanc contract needs to be done and deployed.
Upon uploading a month of data, users are directed to the dashboard page which show stats for that month.
The user should be able to select how far back to look and generate statistics for.
The basic implementation can consist of having a couple additional buttons at the top of the dashboard (Last 3 Months
, Last 6 Months
, etc). When a user clicks on the button, then we will fetch the data pertaining to the time period and run calculations to render on the dashboard page.
In order to start working on analysis services independently of the csv upload and parsing process, we should provide a mock json file to provide a sandbox for these services.
The Form view should be separate from the Dashboard view.
We will also want to have a sidebar or top navbar.
Should have a mock up of where each graph/data goes in the view.
Also should list out what data we will be calculating and showing to the user.
This is so we can start to think about the user design and experience
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.