Code Monkey home page Code Monkey logo

mijn-viaa's People

Contributors

brechtvdv avatar evajacobs avatar laurensdc avatar tjenwellens avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mijn-viaa's Issues

Randomize data arrival from dummy API

Need to test the loading of API responses arriving at a different time -> if possible, a random simulated delay on different responses would be awesome.

[Core Design] VIAA global stats do not belong on user's dashboard

  • Make a separate page for VIAA global stats (publicly available) -> Big CTA on dashboard & about page
  • On user's stats, compare with VIAA global (for example: 20TB (17% of total VIAA storage))
  • Put VIAA global stats on about page
  • Branch feature/thegrandreformationv2 already has the VIAA global view removed (the code turns out to be a lot cleaner as well) - merge when decision is made

Expand readme with server setup

The readme as of now only explains (very basicly) how to set up the Front-End side.
Would be nice to also have the same for the Node server.

Looking for a nice way to pass 'successful ajax call finished' to View

Options:

  1. Every single graph gets its personal variable that gets passed to View
    -> +: as soon as a graph is finished, it gets displayed
    -> +/-: Every graph has (/can have) its own loading spinning thing -> might be too much
    -> -: lots of variables passed to view
  2. Pass 1 'graph finished' variable to view
    -> +: easy coding
    -> -: Wait for slowest call, and then show all the graphs at once
    Kind of like it is now, but as soon as 1 graph is done, loading circle will disappear, graph will show -> No warning / feedback on graphs yet to come
    -> Might be a good option (will 1 graph realistically be multiple seconds later than others and does this even matter?)
  3. Not possible: Make a nice object and set graphs as properties
    -> Vue can NOT detect changes to object properties
  4. Some array magic maybe?

detail.html#randomtext should get caught

Manually entering a service that doesn't exist after detail.html# will attempt to get hard coded & API data.

Needs to display a proper 'Service (/page) not found' error.

Bugs with the dashboard

  • Push error messages to object -> Filter in view to show err msg
  • Clear old graphs (graphs now overlap if new ones are taken)
  • Loading icons / messages
  • Think about error displays
  • Aesthetics plz

Caching

 Front-end
    ||
    ||  /api/stats + cookie/session
    \/
NGNIX-CACHE
    ||
    ||  /api/stats + cookie/session
    \/
 Backend (cookie/session -> org)
    ||
    ||  /api/stats?org=vrt
    \/
   Mule

Org-A-person who asks for /api/stats != Org-B-person who asks for /api/stats

So NGNIX cannot cache, but browser can. (unless same computer + browser used by people of different organisations)

Make backend serve the front-end files

Currently the static files are not accessible when the server would be deployed.

Add a 'static files' folder to the server so that: html, css, js, assets are accessible

Add saml authentication

  • add libraries
  • config environment for auth export NODE_ENV="dev_auth"
  • API: error when not logged in
  • PAGES: redirect to login service when not logged in for pages

Standardize API json format for error checking

JSend format for JSON responses

Success

Required keys:

  • status: Should always be set to "success".
  • data: Acts as the wrapper for any data returned by the API call. If the call returns no data (as in the last example), data should be set to null.
{
    status : "success",
    data : { ... } | null

Fail

When an API call is rejected due to invalid data or call conditions, the JSend object's data key contains an object explaining what went wrong, typically a hash of validation errors.
Required keys:

  • status: Should always be set to "fail".
  • data: Again, provides the wrapper for the details of why the request failed. If the reasons for failure correspond to POST values, the response object's keys SHOULD correspond to those POST values.
{
    "status" : "fail",
    "data" : { ... } // details why failed
}

Error

Required keys:

  • status: Should always be set to "error".
  • message: A meaningful, end-user-readable (or at the least log-worthy) message, explaining what went wrong.

Optional keys:

  • code: A numeric code corresponding to the error, if applicable

- data: A generic container for any other information about the error, i.e. the conditions that caused the error, stack traces, etc.

{
    "status" : "error",
    "message" : "..."
}

Cache data from API

API call happens every time a user goes to home page -> limit API calls & cache data

Return error when ajax call failed

When the Ajax call fails on the mainpage, the preloader keeps "loading" and the error message is only returned in the console.
On the other pages it's the same thing (no feedback if the API is down)
It would be nice to have a pop-up or something to give the user feedback when the API services don't work (which shouldn't happen in an ideal world, but crap happens)

Cleanup

  • server/routes/api.js all muletest stuff

License

  • LICENCE.md
  • at top of all files

Logout

QuickFix

  • frontend link GET/logout
  • backend logout backend + redirect IDP logout

Actual fix

  • frontend: POST /logout (ajax call)
  • backend: logout iDP then logout backend

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.