Coder Social home page Coder Social logo

osteppy's People

Contributors

dependabot[bot] avatar manekenpix avatar naiuhz avatar tienpv222 avatar ylei-tsubame avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

osteppy's Issues

Indentation error in development.yml

Fix:

index b50b4ed..23b37f7 100644
--- a/development.yml
+++ b/development.yml
@@ -5,7 +5,7 @@ services:
     ports:
       - 127.0.0.1:27017:27017
 
-    mongo_express:
+  mongo_express:
     image: mongo-express:latest
     environment:
       - ME_CONFIG_OPTIONS_EDITORTHEME=default

Add emoji support

Add emoji support to EODs.
Eg. If an emoji is added to the beginning of an EOD, it replaces the flag.

Also, a slash command to change preset default emojis for themselves.

Add husky, lint-staged, and prettier

Add husky and lint-staged to run eslint and prettier in pre-commit hook.
Add prettier as an extension to eslint.

This ensures committed code is free of syntax errors and format inconsistencies.

Optimize EODReminder.js

EODReminder.js' sendNextReminder loops through every RA and their reminders twice.
Instead, it should push reminders to the nextReminders array in the first loop and reset the array if a
"sooner" reminder is found.

Teach Osteppy about holidays

When deciding whether to send EOD reminders, Osteppy doesn't currently know about holidays or college closures and will send reminders even on stat holidays or other times when the college is closed.

We should teach Osteppy about holidays to avoid sending reminders unnecessarily, possibly along with an override to always send reminders.

Add edit EOD reminder slash command

Slack users should be able to:

  • See their EOD reminders times
  • Edit their EOD reminder times
  • Add or remove themselves from EOD reminder list

Add feature to queue EOD

Create commands to add/remove EOD tasks to a temporary list, and (automatically?) submit them at the end of day.

Set time zone for containers

This is needed for datetime-related features, for example currently EODs are not stored at the end of the day because of the wrong time zone.
There are two approaches:

  • Read from .env
  • Get the same time zone from the system running the container

Create config files if they don't exist

During installation, there maybe config-files missing. Instead of errors, the necessary config-files should be created.
Config-files used:

  • channelID.json
  • EODReminderTimes.json
  • eods.json
  • RAs.txt
  • SLACK_TOKEN
  • sleepyRAs.txt

Handle new users

If a new user adds an EOD reminder, their slack username should be added to RAs.txt and return an error message to add their channelID to Osteppy/config-files/channelID.json.

Add a slash command for adding channelIDs.

Printed JSON should be user friendly formatted

Slash commands such as /add_eod_reminder should print user friendly formatted messages.

Eg. You've added this EOD reminder at 9:30PM for Monday's, Tuesday's, and Thursday's: "It's 9:30PM sleepy head, time to do your EOD!"

Extending EOD for Custom Tools

Possibly related / dependent on #12, but I think it would be interesting to enhance the /eod endpoint (or add an additional endpoint?) so that the EOD workflow can be accessed through other tools in addition to Slack slash-commands.

My current EOD workflow looks like this:

  1. Throughout the day, log tasks / issues / meetings / etc as I go or remember them
  2. Open #general at end-of-day
  3. Copy (really pbcopy) the contents of my task log
  4. Type /eod into #general
  5. Paste copied log contents into Slack
  6. Submit EOD

Instead, it would be great if we could submit a (JSON-formatted?) payload to /eod, bypassing Slack entirely, and still have EODs get posted to #general by Osteppy.

Currently, /eod requires a response_url so that Osteppy knows where to send the EOD on behalf of the user:

https://github.com/Seneca-CDOT/ostep-dashboard/blob/00ee93b45644da6112da8a8c632017a3b5174710/Osteppy/src/server.js#L80-L82

which is the only part of the payload to /eod that is Slack-only and can't be replicated by other tools without first sniffing the response_url from a Slack slash-command invocation.

Create EOD reminder parser

RA names and EOD reminder times should be kept in a config folder. Config folder contents are added to the .gitignore except for the .gitkeep.

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.