neurral / leuzin

Front end for nacc; using angular.js to interact with Rails app nacc
https://neurral-leuzin.herokuapp.com/
0 stars 0 forks source link

leuzin

Front end app for nacc; using angular.js to interact with Rails app nacc.

It covers login/registration front-end, and a dashboard that will display neurral apps for the specific user.

Components

leuzin is a plain HTML/Javascript web app designed using Angular.js, and styled Bootstrap.

Mechanism

leuzin fires JSON requests to a back-end api called NACC, which sends JSON responses that are then processed into the Angular UI.

Design

Registration

leuzin allows a user to send basic credentials such as name, email, and date-start.

After sending these data, an administrator must approve this user by changing the user status from for_auth to active in the user management Neurral module.

Login

leuzin uses a new singular-login approach that I based on the token-based authentication used in APIs today.

Singular Login uses a secure unique token for a user to use to access the system. This is singular as it is set for 1 user : 1 device : 1 period of time (configurable in NACC).

A user only has one token at one point in time (currently one day), that is set in the device that activated the access link in an email sent by Neurral after requesting for a token.

After successful approval by admin, a login email will be sent to the email provided by the user. The email contains an access link that when clicked, will set the device with a secure token for login.

If trying to access leuzin from another browser or device, the user must use the Request Token feature to generate a new token. (Note that this will also automatically invalidate the current active token.) The user must open the new access link that they will receive in the device or browser they intend to login with.

(More documentation to come)

Dashboard

leuzin loads the Neurral modules allowed for the user to this module after logging in. Example: For an admin, this may load the Use Management / approval Module For a guest, this may load a custom module set by admin, or his own profile.