With the number of tasks increasing day-by-day, it is becoming difficult for individuals to manage so many tasks considering the varying amount of time available and required to complete them. It requires continuous and active effort to create weekly schedules. This leads to wastage of valuable time, and poor planning might lead to excessive workloads. In such situations, an application that makes a schedule (time-table) for the individuals taking into account their pending tasks, deadlines will be a great asset for students.
Before showing a typical communication with the bot, let us discuss some points about the application. WolfPlanner is designed for students to help them in planning their activities by generating a weekly schedule. Thus, the intended user of the system is student.
Every new student user, receives a Slack invite to join the workspace inorder to access the WolfPlanner bot.
- Student starts conversation with the bot with a greeting like
Hi
,Hello
- The bot responds to the user asking for the unity id
- The student enters the unity ID and the student profile is created.
- The student can now access different options such as
add task
,add course
,view tasks
,view courses
,view tasks
andfetch schedule
At any point of the conversation the user can access these commands by asking forhelp
. - The student can
add course
which the user interacts with a popup dialog which takes the course details as input, - The student can
add tasks
which include tasks such as Project, Interview Prep, Job, Homework among others. Task input is done in a way similar to that of adding courses. - Once the tasks and courses have been entered,
view course
,view tasks
commands can be accessed to view them respectively. - Now, after the courses and tasks have been added, the student can request for the schedule to be generated, using the
fetch schedule
command. - The bot generates the schedule for the student and the week's schedule is generated.
Whenever a new user joins, the conversation goes like this -
Fig 1. When a new user starts conversation
The most important use cases of the application are -
Students add a set of tasks such as lecture timings and days which stay fixed throughout the semester.
Fig 2. Add course
Students can see their course listings, if needed, to get an idea of the time they will not be available for any task.
Fig 3. View courses
Students can add various other tasks to their To Do list along with the amount of time they expect to keep aside for it. These can be tasks like Home works, Coding practice, Project Discussions, etc.
Fig 4. Add task
Students can take a look at the tasks they have this week. This can help them make sure that they added all the tasks they want to complete in the current week and did not miss out anything.
Fig 5. View tasks
Students can generate the schedule for the week, based on the fixed tasks they have and the additional tasks they need to get done in the week. They can set the window size according to their convenience i.e. some users may want their tasks to be scheduled even in small slots of time, whereas others might want to take rest if the available amount of time is too small for their liking.
Also, if they want to regenerate the schedule due to addition of tasks during the week, they can call this again to get the updated schedule.
Fig 6. Generate schedule
Students can easily export their generated schedule to Google Calendar for easy access for the schedule and setting reminders about the scheduled events.
Fig 7. Add schedule to your Google Calendar
- Install Python 3.6 - https://www.python.org/downloads/
- Install Node.js - https://nodejs.org/en/download/package-manager/
- Clone the WolfPlanner repository -
git clone https: //github.com/neelkapadia/WolfPlanner.git
- Make sure you have the correct version of pip for Python 3.6. (Ideally pip is bundled with Python 3.4+ so it should be available directly).
- Install the required packages using
pip install <package- name>
- Rename the
.env.example
file to.env
and add all the access code and environment details. - Install Ngrok - https://ngrok.com/download
- Run a local server for development by running the command -
nrgok http 3000
. Specify the url ob- tained, in the slack app api page(Event Subscription, Interactive Components, and OAuth & Permissions) for receiving HTTP POST requests. - Do a
npm install & npm start
from the WolfPlanner directory to install all the packages required by Node.js.
Neel Kapadia - ntkapadi
Rohit Naik - rtnaik
Sainag Shetty - sgshetty
Rohan Chandavarkar - rgchanda