Coder Social home page Coder Social logo

decodeproject / bcnnow Goto Github PK

View Code? Open in Web Editor NEW
21.0 21.0 4.0 4.03 MB

Light, personalized, interactive dashboards for urban data exploration.

Home Page: https://github.com/DECODEproject/bcnnow

License: GNU Lesser General Public License v3.0

Python 30.74% CSS 40.87% HTML 2.91% JavaScript 25.07% Lua 0.21% Dockerfile 0.20%
data-exploration data-visualization urban-dashboards

bcnnow's People

Contributors

allueeurecat avatar elaragon avatar noktus avatar rohit-nlp avatar rohit13k avatar rprmiworkshop avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bcnnow's Issues

Create an endpoint to generate link and QR code for IoT pilot Login Flow (backend)

Create an endpoint to generate link and QR code for IoT pilot Login Flow (backend)

Open link (normal link or QR code):

${schema}://login?header=${headers}&sessionId=${sessionId}&callback=${callback}

Schema: Depends on the version of the app (production or expo) but if in production should be ‘decodewallet’

Headers: Depends on which credential you want the user to use
Example:
{ “predicate”: “schema:iotCommunity” }

SessionId: Session id to identify the user during the process of login, is the link to ensure that we enable the login of the correct user.

Callback: Url in which the wallet will do the login request.

Example of url:

decodewallet://login?header={predicate:”schema:iotCommunity”}&sessionId=9876&callback=http://bcnnow.decodeproject.eu/wallet-login

Edit date in "Edit data source"

The UI of an existing widget allows editing the data sources that have already been added, however if ones changes the dates for a data source, the change does not apply.

Allow relative dates

The JS files of dashboards and datasets work only for absolute dates, relative dates (e.g., 'now', '1 day ago') should be allowed

Customization/personalization option

  • end-user add their own data (csv, json, shapefile, KML files, etc) to the dashboard.
  • explore these external data sources with the available visual models.

Add a new secure Collector for IoT

  • Add a new collector to fetch encrypted data from IoT pilot encrypted data source. The config details of the collector contain sensitive information such as the private key for the encryption hence the config details need to stored securely in mongoDB and not in the config files.
  • Decrypt the data using zenroom and save it to mongoDB

Fix timeseries visualization for OHB data

Like in the visualizations of noise sensor data, when clicking on a point on the map, a new panel is opened on the right side, with a graph showing the temporal evolution for that point (for example, the temporal evolution of monthly rent prices over years in a given district, clicking on this map: https://goo.gl/UcGdHv )
However, although on the background it is possible to see the graph, the panel appears as if it was trying to load something.

undefined id error in main.js

main.js:990 Uncaught TypeError: Cannot read property '_id' of undefined
at updateMap (main.js:990)
at Object.success (main.js:614)
at c (jquery-1.9.1.min.js:3)
at Object.fireWith [as resolveWith] (jquery-1.9.1.min.js:3)
at k (jquery-1.9.1.min.js:5)
at XMLHttpRequest.r (jquery-1.9.1.min.js:5)

Getting this error in the index page.

Personalization using Around Me feature

Introduce a new feature in BCNNow to zoom in and filter the data and visualization based on the current location of the user.

  • Find the current location of user based on Browser after explicit confirmation from user
  • Apply filter on the dataset based on the location
  • Identify the dataset and write the filter query
  • Frontend to allow zoom in and filtered data with current location if mobile.

Technical documentation for BarcelonaNow

  • General explanation of the components and the respective backend and front-end code.
  • Provide the main steps of how to create new collectors.
  • Provide the main steps of how to add new visual models.

Create an End Point to allow login from IoT Wallet

Create an API endpoint to parse the following JSON validate the credentials and allow to login to respective community dashboard if the credentials are valid.

{
  "sessionId": "123123",
  "attribute": {
	"predicate": "schema:iotCommunity",
	"object": "MakingSense",
	"provenance": {
  	"source": "http://http://making-sense.eu/credential-issuer",
  	"credential": {
    	  "x": "6c347975ca6aac24b46d9749808ae5392816ac23988e5dc46df4b85c0a",
    	  "y": "d4e8471af6492cf80afb6591bbe63f909d8d07a6efbf052b11851e5cd6"
  	}
    }
  }
}

The "object" is the name of the community.

To validate the login zenroom needs to be used along with the private key of the community and the credentials provided.

Add decidim collector

Create a new collector to retrive data from the Decidim Barcelona API and adapt the frontend correspondingly

QR code and Login Button Page Front End

To support IoT wallet login two features in frontend is required

  • A link in login.html page which will call an api in the backend to get a QR image then the Image should be shown in a new page.
  • If the login.html is opened through a mobile phone then the click on the loT login should call an api in the backend to get a link URL which will be shown as a clickable button on a new page.

Add bar charts

Allow to display data in widgets with bar charts (the only possibility so far were maps)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.