Giter Site home page Giter Site logo

fable's People

Contributors

jahabrewer avatar

Stargazers

 avatar

Watchers

 avatar

fable's Issues

modify user creation process for subs

Subs don't have a default school, so it doesn't make sense for them to have that property. Make it impossible for subs to have a school during creation. Maybe gray the box out when substitute user type is selected?

make buttons context sensitive

If the action isn't available, don't have a button for it. Apply/Unapply on absence index, Edit User on user view, any others.

use recursive=-1 by default

As it turns out, using recursive=-1 seems like a good idea for models. We can modify the recursive property when we need more relations. This should reduce the load on the server and speed up page loads.

user access control

Because we're using admin routing, some actions (like users/add) should be unavailable to regular users. Here's the list of actions available to admins and user:s.

Users
-Absence
--add (with hidden absentee_id, no fulfiller_id)
--view (if user_id matches) (strike user_id requirement)
--edit (if user_id matches)
--delete (if user_id matches)
-User
--view (strip sensitive information)
-School
--view

Admins
-Absence
--all
-User
--all (strip password in edit)
-School
--all

create user types

Teachers, subs, and admins are going to have different UIs. Convert the privileged column to a more robust foreign keyed column for user types. Also create virtual fields in the user model for testing a user's type (is_teacher, is_substitute, is_admin).

implement softdelete behavior

We don't actually need to lose our records when some deletes something. Figure out how to get the softdelete behavior integrated.

change absence owning process to "apply and accept"

Subs should apply for absences and be accepted by teachers. Absences need a HABTM with applicants/users. Replace the take button with apply, which calls an apply function in the controller. The absentee should be able to call the accept function on a particular sub, which will update the absence with a fulfiller and notify the applicants and the fulfiller.

create a "dashboard" page

Users should be able to log in and be redirected to a "dashboard" page. This could be the existing users/index or a new users/dashboard. It should show upcoming absences or fulfillments and their statuses.

add sub attributes

Add:

  • rating/comment section invisible to subs
  • phone numbers
  • education level
  • certification date
  • preferred schools

usability test 1 results

Usability test 1 was a huge fail. Zoe couldn't figure out how to do anything, but I got lots of useful feedback. Here it is in raw notes form.

  • N/A Sidebar nav should have 'new' over 'expired' (this might be irrelevant if sidebar nav is completely redone)
  • DONE Put 'fulfilled' filter over 'expired'
  • DONE Make absences easier to edit, she couldn't find the "edit this absence" button
  • N/A Sidebar nav should be aware of what page its on and adjust accordingly (not global)
  • DONE Turn Fable header text into link to "home"
  • DONE Links in absence index listings are confusing, should all link to an absence
  • DONE Friendlier time formats
  • Create preferences section to handle changing user info
    • Have granular notification control
  • Make sure teachers know that subs can't read reviews
  • Rework everything to do with reviews
  • DONE Too much pagination info
  • Global nav is confusing
  • DONE Applicants section is not easily found in absences/view
  • Decline button for applicants?
  • DONE Remove schools index
  • DONE Rename unapply to something better
  • Subject attribute for teachers?
  • DONE Remove buttons from end of absence index listings
  • DONE Unapply gets confused with release
  • DONE Add "show pending" filter for absences that a sub has applied for

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.