Code Monkey home page Code Monkey logo

concorda-dashboard's Introduction

Banner

Concorda Dashboard

Concorda: User management system

Demo system

This is the Concorda project. It is a user management system built using Node.js. It is a micro-service designed to be used in tandem with other micro-services, as with the NodeZoo project. There is an in-depth demo configuration available for the system, to learn more go here.

A detailed documentation can be found in Concorda wiki

Contributing

The Concorda encourages open participation. If you feel you can help in any way, be it with documentation, examples, extra testing, or new features please get in touch.

License

Copyright (c) 2016, nearForm and other contributors. Licensed under MIT.

concorda-dashboard's People

Contributors

adrianrossouw avatar ckiss avatar geek avatar mcdonnelldean avatar mirceaalexandru avatar rjrodger avatar salmanm avatar shanel262 avatar thefoxis avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

concorda-dashboard's Issues

User not being immediately logged out on deleting themselves

The current build of Concorda is kicking you when you're logged in and delete the user you're currently logged in as, but only when you navigate to Overview, and then back to Users.
The user should be kicked once the delete themselves, to prevent them from deleting other users afterwards.

Move add button above the list

We should probably have this in it's own toolbox above the list.

The feedback was once the list grew too long the button would be at the bottom.

User permission support

we can do it like this:

  1. add permissions to each user from a set of defined permission types.
  2. create groups with set of permissions and then assign users to groups.
  3. mix of the above, so you can assign an user to a group and then override a certain permission specially for that user by direct assigning of that permission. This method offers a greater flexibility and also allows us to implement in two stages - first directly assign permission and in another iteration add group support.
  4. Other approaches?

Add vidi ui to concorda

Let's move the vidi UI to concorda so we can worry about adding features.

You can remove the vidi specific backend stuff, keep the login. @ckiss has a good idea of vidi so can show you what needs to be moved.

Add static UI for improving user list functionality.

Post demo we've had requests to make the UI around searching and dealing with the user more refined. We basically need,

  • Search bar with, dropdown for target column, plus clear search
  • Back / Next buttons
  • Ascend / Descend buttons per column (not sure it will look on mobile)
  • xxx of yyy label for current / total row counts (pagination)
  • Plus current bits on screen

@thefoxis I'm keen to see how this will fit on mobile. Ultimately it's just a searchable list of users. If the table format is too restrictive I'm happy for you to comment it out and add in a hardcoded list that better suits our need, we can very quickly break down into components to make it work as needed. We are talking about the possibility of 10,000 users; I'm keen ensure the user experience is not impacted by this scale, even on mobile, so I'd rather you had no restriction to tables on this.

We may have a view more fields to come yet so I would probably edge more towards a searchable 'card' view but we need to have as many rows on screen as possible too.

Add full width page style

With changes made to the sidebar to move it to the shell the login now renders in the same area as pages. This means we have a little space to the left of the login box where the sidebar usually sits. In the case of login and some other screens down the line can we get a full page class to style this away?

I would be applying it here: https://github.com/nearform/concorda/blob/master/client/containers/shell.js#L23

I think something like page-wrapper-full would do perfect.

Make header / sidebar sticky

When the size of the page is greater than the viewport the header and sidebar scroll away. Can we make it so only the inner portion or 'page' scrolls when taller than the viewport?

Correctly use the authentication token

  1. Auth token should not be preserved in the store.
  2. On each action, the /auth/user should be requested to make sure the user is still loggedIn.

These changes should be applied also for Vidi.

Not secure add new user

All fields have no limit for char . And if you adding long names its spoiling view of table.
Password has no any requirements .
How to recover password if forgotten?
Email don't need to be real.
Any protection from Cross-site scripting?

Add class to error message on login

I believe there's no class added to login form h2 when the innerText is changed to an error message. I need that to be able to turn it into an alert.

Move In seneca-mvp code

This will form the basis of our first demo.

  • Do a full copy of seneca-mvp
  • Remove any non 'user management' specific stuff
  • Add a transport pin to listen for 'role:user,cmd:*' to manage external messages.

User Icon as Concorda logo

We don't yet have a logo for Concorda. It is a user management system so I am thinking some sort of simple user Icon for now would be great. You are totally free to design the actual icon with all the glory that goes with it but for now a temporary user head will do perfect.

Pick greenish colors for Concorda

Could you recommend complementary colors for Concorda, it is the same UI as vidi. We just want to shift the palette to green. I just need the hex codes and variable names, I can add them to the code once I move over some changes.

Style /user routes

@thefoxis I'll push this out until Monday as the default styles you have included make it look semi styled already. In this instance all of the content and data is hooked up. You are free to modify the markup as needed. I'll chat to you Monday about any additional state you need to drive the UI.

The routes are,

  • /user
  • /user/add/
  • /user/edit

Add and edit are the exact same, just different context. Both have a simple editor form. The main route has a list of users with some buttons to add / edit / delete each one.

Implementing shared login for all clients

Flow:

  • login in one app
  • when start another app from same browser/IP then we should try to login automatically - This is not implemented as a feature but I can add it.
    Anyway we need a way to identify the user based on something.(edited)

Question: Is that OK it will have the same login identifier (auth token set as cookie value) for both sessions or a new login will be created?
My answer: a new login will be created based on the existing one.

Question: What will be the discriminator for user in shared login feature? Remote client IP? Other?

Question UI: For shared login it will require a change in UI. When go to login page verify if already logged in in another apps and then:

  • automatically login - then it will not be possible for a user to login using different credentials as login page will never be accessible.
  • or display a button for automatically login

Make sure favicon gets served

I've added a favicon here but unsure about the asset pipeline. The path to image is assets/img/favicon.png, no errors are thrown but just want an additional pair of ๐Ÿ‘€ to make sure this is correct to be serving this asset. Right now Chrome thinks it's text/html, not an image.

pagination support for user list

We will need support for:

  • limit - to limit number of items returned
  • skip - to skip a number of items
  • order - control order of users.

This is required as we will need pagination for user list.

Implement live search on /users

  • New component
  • Should have clear button
  • Dropdown to select column to search
  • Columns provided via props
  • Emits onSearch(term, target)

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.