raiden-network / explorer Goto Github PK
View Code? Open in Web Editor NEWLicense: GNU Affero General Public License v3.0
License: GNU Affero General Public License v3.0
It seems that for some people the carousel navigation arrows might be not really obvious.
Find a way to some how make them more obvious.
The data created by restructureAndPersistData
in nmservice leads to errors as it is somehow "wrong".
Related to #6
The method <nmservice>.restructureAndPersistData
currently uses PUT to store restructuredData
on the server and <nmservice>.retrievePersistedDataForGraph
uses GET to retrieve it again.
Related to #15
The above will render the <host>:3000/data
endpoint redundant and it can be removed.
We might want to display infos about the different MS and PFS in the future.
The d3 chart redraws every 3 seconds; every time new data is fetched from the api. When the new data is identical to the old, it is misleading that the chart is redrawn.
Methods getIndexedNetworkAddress, getIndexedMetric etc redundant.
d3 chart is placed in html <footer>
which seems wrong.
The code for d3 graphics seem over-complicated. The small d3 chart is spread out on a total of 19 files -- see review here https://github.com/ellvtr/status-page/blob/jonas/misc/angular-app.misc.md#d3-graphics-over-complicated
/d3viz
-- which is based on the "brainbot design internship" that Paul sent me.There are some minor frontend issues to be fixed:
Since is it not always clear that the page consists of two sections, we have to make it clear by adding some kind of indicator that the page continues.
We should get a certificate from LetsEncrypt and only use HTTPS
Ideas:
The current website shows all information which is provided by the backend, some of which might not be interesting or to detailed for the website: http://explorer.raiden.network
In this issue I'd like to collect feedback about what people think is important and what not.
Within our communication, we are calling the status-page now Raiden Explorer.
Rename the status-page to Raiden Explorer throughout:
Add the metric of the total deposit of all active channels.
It turns out that the current layout is not responsive. We need to re-design layout from scratch using e.g. bootstrap or foundation or similar.
@christianbrb @LefterisJP We need to decide which URL we want the status page to run on. I ropose status.raiden.network
. Other options are metrics.raiden.network
or overview.raiden.network
.
Then Ulo needs to create the subdomain.
It would be nice to display information about online Raiden nodes as well.
However this creates some problems:
We need to expose some more information in regards to each token network.
<homecomponent>.updateMetrics
method has much repeated and redundant code; error prone and messy. It calls .updateCurrentMetrics, then runs redundant methods on the service (already run within .updateCurrentMetrics), then typed out the same sequence again within a setInterval
updating every 3 sec.
Some code in net.metrics.service.ts updateTotalsAndComparativeMetrics
or in the related updateLargestNetworks
and updateBusiestNetworks
may be redundant or too complex.
Related to #9 - possibly part of same problem.
Currently no production version or docker container for the angular UI app.
docker-compose
.Filter out channels with no active channels
We have to think how to make this clear to users, otherwise they might think that their token network wasn't picked up correctly.
Currently the frontend polls the backend every 5 seconds and the value is hardcoded to the frontend code.
The current api data is an object { }
and parsing it has resulted in some rather complex code that could be greatly simplified by changing the format to an array [ ]
.
See suggested format here:
https://github.com/ellvtr/status-page/blob/issue12/mock/data/network-info-suggested-format.json
or attached here:
network-info-suggested-format.json.txt
net.metrics.service.ts
methods updateTotalsAndComparativeMetrics
, restructureAndPersistData
and setCurrentMetrics
to parse the new format.currentNetworks
array which is already the new format.The schema validation shouldn't require changes because the network entries are validated one entry by the time - and they would remain the same in the new format.
Show the latest activity in the network, like newest channels, deposits, ...
The backend would need some work to support this.
Replace the table with a more in detail view in given token networks.
It's better to replace it with a more detailed view of the network. This could include:
In order to be able to use the explorer on main and testnet we need the possibility to configure:
See comment: #17 (comment) by @palango
So positions are random at the moment: do you think we can implement something like https://bl.ocks.org/mbostock/4062045
I am opening this to keep some notes on ideas for future improvement of the network graph functionality.
Neither 'largestNetworks' nor 'busiestNetworks' are highlighted at first on page load.
When clicking either tab, nothing changes (data could be identical)
Add a filter to display only open channels by default. Allow the user to remove filter to view the complete graph with closed and settled channels included.
Currently the front-end isn't compiled in the docker container. This should be done.
Some ideas for further improving the visualization:
So, a few things to do here.
When the smart contracts are updated the backend needs some updates:
Deployment
docker-compose
file
Update package dependencies
@christianbrb We need to decide for a license for the explorer code. I guess GPL is fine with the same arguments as done for the PFS (can't find the issue right now)
We Should hide the legend in the graph when only active graphs are shown
Currently the order of networks in the carousel is random and so it can happen that networks with no channels are shown early. I think we should move them towards the end.
After some initial testing on actual mobile devices it seems that in some cases the UI was off by a bit.
Try test on actual devices and or Android emulator images of different sizes to ensure that the Explorer adjusts properly on different screens.
We need a way to provide configuration options to the frontend. Things like:
The frontend doesn't handle various errors in a graceful manner.
Quote @palango from #1:
"The frontend should handle all failure conditions that we can imagine. I think this is mostly that the REST endpoint is unavailable or returns incorrect json (either malformatted or not matching our schema). These should be nicely handled and not show errors in the console."
The logic is unclear to me in methods updateLargestNetworks
and updateBusiestNetworks
in net.metrics.service.ts
.
Related to #10
@Dominik1999 could you please elaborate on this?
We need a way to select a certain token network. There should be a drop-down and/or a search field.
It should be hidden when only one network exists.
The schema for network info has changed. Paul sent me new json file.
Currently the UI will only show information about the token address.
Since we now have information about the symbol and name available, we should display this information along with the address in case they are non-empty.
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.