Code Monkey home page Code Monkey logo

perm's Introduction

Hi folks ๐Ÿ‘‹

perm's People

Contributors

dadair-ca avatar

Stargazers

 avatar

Watchers

 avatar

perm's Issues

Fix: Test coverage (aka, have some)

Currently, PERM has only been manually tested. It needs a full suite of tests to provide developer confidence now that it is in production.

Should add coverage and build status tokens to the Github page.

Feature: Admin dashboard

The administrator should have a dashboard that shows relevant stats about the session:

  • Gauge of shift drops (should be net 0)
  • Leaderboard of students

Refactor: Improve user roles

The user roles system is quite inflexible right now with [student, command, nurse, admin], since people can only have one role. It would make more sense to allow combinations of roles, such as a nurse that is also an admin, so they can coordinate the nurses.

Something that may be better:

  • student
    • new
    • command
    • standard
  • nurse
  • admin

Fix: Contact form rather than a mailto: link

Currently, the Submit Feedback button uses a mailto: link, which opens up the system's default mailer. This is generally bad if the system is used on public computers (which will happen more with increased patient-logging features in the future). It should just be a contact form.

Refactor: Improve resource routes

Resource routes seem a bit off right now. For example, users can see a dashboard of their shifts at

/shifts

But that same view is almost completely duplicated at

/users/:id/

These views (and potentially others) should be combined, where the view changes slightly depending on resource ownership and administrative rights.

Refactor: Remove duplicate templates

Some templates are repeated, almost verbatim, in different views.

Examples:

<template name="shiftItemForUser">
  <tr>
    {{> shiftRow}}
    <td>
      <button class="deleteShiftButton btn btn-danger btn-sm">Delete Shift</button>
      <button class="dropShiftButton btn btn-warning btn-sm">Drop User</button>
    </td>
  </tr>
</template>

<template name="shiftItemOwned">
  <tr>
    {{> shiftRow}}
    <td>
      <button class="btn btn-danger btn-sm" data-toggle="modal"
              data-target="#{{_id}}-dropModal">Drop Shift</button>
      ...
    </td>
  </tr>
</template>

Feature: Pagination and search of users

The user list is currently a huge single table. The resource should be paginated so that screen space is preserved and the application scales better.

A search field should also be provided so the administrator can jump immediately to a user.

Feature: Add logging of Activities

Should have a log of activities that the administrator can look through. Something like a live news feed on the administration page. Each user-page would also have a list of that user's recent activity.

Refactor: Users should be dichotomised between Active/Inactive

Users should be given a status flag of Active/Inactive, so that rather than deleting students from the system, Jian can flag them as Inactive, which disables their login and removes them from the mailing list. They will also be removed from the users#index list, and puts them in a separate list (on the same page).

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.