Code Monkey home page Code Monkey logo

teammanager's People

Contributors

dependabot[bot] avatar dooorisxu avatar mlavrent avatar

Stargazers

 avatar

Watchers

 avatar

teammanager's Issues

Archive

For long term usage: Keeping records from previous seasons as annual archives and having a fresh page for the new season. Archives can be accessed by every member. Possible location: on the top bar

Adding an "email viewer" group

Adding a group in Django. This group will be informed of new requests via emails but will not be able to approve/deny them.

Add settings page

Create a user settings page with following possible items:

  • Enable/disable email alerts
  • Enable/disable slack alerts
  • Modify your email

Paginate the list page

I've noticed it gets a bit clunky once there get to be a lot of requests. One way of alleviating this is to paginate them (say, 20 per page). That'd decrease load on the server as there get to be more requests and de-clutter the page as people usually don't care about requests that are super old.

Adding more timestamps

Stamping the time the request is approved, the time the order is placed, and the time the product is delivered -- the time when the button is clicked on. Time zone = eastern time.

Adding a note in the request form

Adding a place for a note in the request page. However, this note is optional (no error returned if left blank).
This note should be included in the email as well.

This issue should be prioritized.

Add a message in the email & page

Adding this message to the email sent to approvers (italic, blue):
If this product is not from AndyMark or Vex, please place the order on your own after approving it.

Displaying this message on the home page:
"Approvers, please place the order on your own if the product is not from AndyMark or Vex"

Including the shipping cost

Django only keeps records of the product price and the total cost but overlooks the shipping cost.
Possible resolutions:

  1. Making Grace an admin and making her add the shipping cost/number of units to the unit price after each purchase
  2. Adding a space in the request that allows her to add the shipping cost after the order is placed
  3. Alternative?

Move SECRET_KEY to environment variable and regenerate

It seems that we should not expose our secret key (found in settings.py) as we are doing now. We should regenerate it: https://www.miniwebtool.com/django-secret-key-generator/ and store it in an environment variable so it's not visible in the source code (need to add to heroku context variables too).

For easy running on local machines, we should also add a small script that sets the environment variables (APP_PASS and SECRET_KEY) as needed so testing can be done in one command.

Keeping track of the purchase process

Adding two other columns to keep track of the purchase process -- Order Status & Delivery Status.

This is how I am picturing it: Next to approval status, there are these two columns Order Status and Delivery Status. In terms of response, they are both in the format of "check (yes)/question mark(pending)/cross (no)", similar to approval status. So the finance person will click on this entry and then check this column once she placed the order and then check the other column after the product is delivered.

This is second on our priority list.

Show feedback bars upon completing action

Add a little bar that pops up on the page (probably at the bottom) that informs a user their request has been completed after:

  • editing a request
  • deleting a request
  • adding a new request

It'll help the site feel more responsive to users.

Importance: low

Add a whole system with users and permissions

Need to figure out how to get a login/log out/sign up page going and show only pages users are allowed to see.

  • Add request page should stamp the user on the request
  • Authorize request only allowed for users with that authority
  • DISCUSSABLE: list should only include requests made by that user (unless higher permissions)?

Adding dropdown list

Adding a dropdown list for the categories of the product in the request page.
Categories are:

  • Office Supplies
  • Marketing and Spirit
  • Parts and Components of Robot
  • Shop Supplies
  • Other

This will be a required field and this information should be included in the email as well.
This dropdown list is preferred to be positioned under the line for item name.

Everything displayed in UTC

All the times both on the webpage and in the csv file are currently shown in UTC, which isn't super helpful for users who are mostly going to be in Eastern time. We need to modify the times before displaying them to always be in eastern time.

This also should be configurable so that if another team wants to use it in another time zone, they can.

Add signup page

Create a page for users to sign up for the site.

Also create a way to recover password (possibly)

Add authorization web page

Need to add authorization web page that allows the authorizer to decide whether to authorize the purchase. The app should then send an email to the person in charge of finances to submit the purchase and add the amounts to bookkeeping.

Add config page for teams to set up their environment

There's currently a lot of configuration variables in settings.py that I'd like to make more accessible (i.e. so teams can set them without searching through the code). In particular, the following:

  • Theme color (and light theme color)
  • Time zone
  • Logo url
  • Email address & password (maybe?? not sure how yet)

It'd be at something like <domain name>/team/settings. I'd need to figure out how to store these values in the database then

Grab approver email address automatically

Currently, we have to specify manually who will be receiving the approval request emails. Need to change this to automatically grab the emails of all users in Approvers group and send emails to them.

Create modular color

Make it so there is one setting with which you can set the color scheme of the site.

(i.e. Doris wants it orange)

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.