Giter Site home page Giter Site logo

stashboard's Introduction

Build Status

Stashboard

Stashboard is a dashboard application for managing one's remoteStorage account. It has been created by 5apps as the front-end for 5apps Storage.

Screenshot of a 5apps Storage dashboard

Storage providers & developers

Feel free to use this for your own server implementation, and also to just re-use parts of the code (e.g. markup and styles).

If you are genuinely interested in adopting this front-end for your server implementation, we would also be willing to help with making the app more customizable, so that you wouldn't have to run a custom fork per se. The GitHub issues are open for any and all requests.

Users

For security reasons, it is not currently possible to log into your 5apps account when the app is not opened from rs.5apps.com. This may change in the future.

Prerequisites

You will need the following things properly installed on your computer.

Installation

  • git clone [email protected]:5apps/stashboard.git this repository
  • cd stashboard
  • npm install

Running / Development

Running Tests

  • ember test
  • ember test --server

Linting

  • npm run lint:hbs
  • npm run lint:js
  • npm run lint:js -- --fix

Deploying

  • npm run deploy:staging or npm run deploy:production

stashboard's People

Contributors

ember-tomster avatar galfert avatar gregkare avatar raucao avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

stashboard's Issues

Fix account settings link

Right now the link is relative (/account/settings), but should link to the full URL including the base domain name instead.

Add note for users with JS disabled

Some privacy-conscious users will inevitably arrive with JS turned off. They may not yet have learned that RS apps are all JS. Just adding a simple sentence explaining it would help to not be stuck with an empty page and potential nerd rage.

Should contain a link to the RS website for understanding details.

If user logged in without "remember me" checked, use session storage for OAuth token

Currently, as a user logging into the site, you would expect to not stay logged in after closing the session, unless you check the "remember me" box (which, btw, we should probably explain better in a hover title or sth).

However, now that the OAuth token for the storage front-end is stored on the client-side, this behavior is not the case anymore. I'd propose to switch to sessionStorage instead of localStorage, in case the remember me box hasn't been checked. This info could be given to the front-end as a state param in the OAuth redirect.

Always doing auth redirect when using SessionStorage

In Firefox, even though the storage seems to survive page reloads (as intended and documented by Mozilla), it always does the auth redirect for me when reloading the page. Not sure if it's a bug in Firefox or Ember Simple Auth, or Stashboard.

Can someone confirm this?

Move deploy target config to dotenv

We shouldn't hardcode deployment configs like e.g. API URLs, Sentry DSN, etc.. in the main environment config file. These values should come from .env.staging etc..

TypeError: Cannot read property 'length' of null

https://sentry.io/organizations/5apps/issues/1510122910/?referrer=github_plugin

TypeError: Cannot read property 'length' of null
  at generatedDetailedMessage (addon-tree-output/@ember-data/adapter/rest.js:1089:1)
  at apply (addon-tree-output/@ember-data/adapter/rest.js:817:1)
  at apply (addon-tree-output/ember-simple-auth/mixins/data-adapter-mixin.js:65:1)
  at handleResponse (@ember/-internals/utils/index.js:427:1)
  at ajaxError (addon-tree-output/@ember-data/adapter/rest.js:1142:1)
...
(9 additional frame(s) were not displayed)

TypeError: Cannot read property 'split' of undefined

https://sentry.io/organizations/5apps/issues/1739553292/?referrer=github_plugin

TypeError: Cannot read property 'split' of undefined
  at call (stashboard/models/user.js:24:1)
  at callback (@ember/-internals/metal/index.js:3458:1)
  at untrack (@ember/-internals/metal/index.js:1413:1)
  at get (@ember/-internals/metal/index.js:3457:1)
  at obj (@ember/-internals/metal/index.js:1003:1)
...
(31 additional frame(s) were not displayed)

Looks like this errors happens while the user profile data is still loading.

Fix endless redirects

Right now, when the network request to /users/me fails, the frontend just assumes an auth error and attempts to re-authorize. This leads to endless redirects between the 5apps server and the frontend app.

Instead it should only attempt the reauthorization when the request failed with an actual auth error, and show an error message otherwise.

Show storage address in topbar

Instead of just showing the username, it should show the whole storage address. Maybe with the "@5apps.com" less emphasised.

Rename account to dashboard?

What do you think about renaming the namespace from account to dashboard? Account is ambiguous, because we also have the actual account settings, and this frontend's "account" namespace is about the storage dashboard UI.

Open-sourcing the front-end

I think our original plans were for this front-end to be entirely open-source. Both because it's all client-side code anyway, and providing the sources makes it more trustworthy, but also because in theory any RS server author could use the code and adapt it for their server, so they wouldn't have to create their own UI for everything.

Questions:

  1. Is that still the plan?
  2. If so, when do we consider it ready to be open-sourced?

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.