Giter VIP home page Giter VIP logo

task-list-bot's People

Contributors

kulti avatar

Stargazers

 avatar

Watchers

 avatar  avatar

task-list-bot's Issues

sprint creation

New sprint is created by the following command

/ns 04.01 - 10.01

task creation

Task created by sending a simple text. The following formats should be supported:

  • 2 task description creates task with 2 points
  • task description 2 also creates task with 2 points
  • task description creates task with 1 point.

enhanced task list UI

          04.01 - 10.01
Total   (102/210)   ⎥⣷  8  16  24  32  40  70  100⎢

          Today Tasks
 1  ⎥⠀⠀⠀⎢  (2/10)   Task 1 
 2  ⎥⠀⠀⠀⎢  (1/8)    Task 2 
 3  ⎥⠀⠀⠀⎢  (12/16)  Task 5 

          Tasks
 4  ⎥⠀⠀⠀⎢  (3/10)   asd8as asd9 asd asd 
 5  ⎥⠀⠀⠀⎢  (2/10)   asdfasdf 
 6  ⎥⠀⠀⠀⎢  (1/8)    Task 3 
 7  ⎥⠀⠀⠀⎢  (12/16)  Task 4
 8  ⎥⠀⠀⠀⎢  (3/10)   asd8as asd9 asd asd 
 9  ⎥⠀⠀⠀⎢  (3/10)   asd8as asd9 asd asd 
10  ⎥⠀⠀⠀⎢  (7/10)   Task 11 asd asd 
11  ⎥⠀⠀⠀⎢  (1/10)   gasd asd as 

          Done tasks
12  ⎥⣿⣿⣿⎢  (10/10)  Task 21 asdfasdf 
13  ⎥⣿⣿⣿⎢  (8/8)    Task 22 фыва фыва фыв 
14  ⎥⣿⣿⣿⎢  (16/16)  Task
15  ⎥⣿⣿⣿⎢  (10/10)  asd8as asd9 asd asd 
16  ⎥⣿⣿⣿⎢  (10/10)  Task A asd asd 
17  ⎥⣿⣿⣿⎢  (10/10)  gasd asd as

add history depth to show

It makes sense to show only 1-3 last changes.

At now it shows only one. Think about configuration or statically increasing this value.

show old sprint

If a user wants to show old sprint it should be possible by the following command:

/show 01.01 - 07.01

Or as a more useful variant with one date:

/show 05.01

That shows the week with that date.

task simple listing

Simple task list prints tasks line by line in the following format:

<task number> <points done/total> <task description>

and looks like:

1  (1/4)  Read a book
2  (0/2)  Fix the table

Tasks are sorted by name.

postpone task

Some tasks can be postponed to the next week. It can be done by the following command:

/p <task number>

If the task has some burnt points they should stay in the current sprint.

task cancelation

Task can be canceled to "hide" from main task list (should be possible after #10). If task has some burnt points the total progress should notice that.

Task cancels by the following command:

/c <task number>

It also should add info message like:

The task "Fix the table" mark as canceled.

add further tasks

Some tasks can be started when we have more free time. E.g. I want to pass a free course and don't want to forget about it. So it should be possible to add a further task.

It can look like:

  1. Add a further task
/ft Pass course about Russian punctuation
  1. Create a new sprint:
To create a new sprint please copy the following text, edit it if required, and send.
...

Also, you planned to do the following when having more time. Maybe it now?
0 Pass course about Russian punctuation

integration tests

Integration tests can use another main to emulate telegram bot API via HTTP.

sprint creation template

It's possible to create sprint by template.

First of all sprint template should be crated by the following command

/nst

2 Fix the table
4 Read a book

After that new sprint can be created in two steps:

  1. /ns command without args returns a message:
To create a new sprint please copy the following text, edit it if required and send.

/ns 04.01 - 10.01

2 Fix the table
4 Read a book
  1. User copies, edit and send message with new sprint command.

partially done task

Tasks can be done step by step. It is also called "burn points". To burn some points it is possible to send extended done command:

/d <task number> <burnt points>

is a total burnt points. If this number is more then total tasks points, total points will be increased with attention message "❗ burnt more then available".

today tasks

Some tasks need more attention. Or they have a specific day to be done.

Task marks as today by the following command:

/t <task number>

After that, the task list should be changed to:

Today tasks
1  (0/2)  Fix the table

Tasks
2  (1/4)  Read a book

Done tasks
3  (5/5)  Cook a dinner

task editing

Sometimes task description need to be updated. It should be possible by the following command:

/et <task number> <new task description>

It also should add info message like:

The task description changed from "Fix the table" to "Fix the table in the kitchen".

heroku deploy

Add all required scripts to deploy telegram bot to Heroku.

add ci

Add GitHub workflows to build and release this project.

mark task as done

Task can be marked as done by the following command:

/d <task number>

It also should add info message like:

The task "Fix the table" mark as done.

force new sprint begin/end dates

The new sprint has format [begin] - [end]. If begin >= end or begin < previous_end or misformatted it's probably a mistake.

In that case, the bot should answer with a message like this:

Begin date (07.05) should not be greater or equal end date (01.05). If you are sure you can create the custom sprint with incorrect dates. For that enter the following command:

/ns 07.05 - 01.05 [force]

multiple tasks creation

A several tasks can be created by on command:

4 Read a book
2 Fix the table

If one or more tasks cannot be created — no one should be created.

telegram bot

After that change, a simple telegram bot can be started to demonstrate a workflow.

sprint creation with tasks

Sprint can be created with multiple tasks in one command:

/ns 04.01 - 10.01

4 Read a book
2 Fix the table

task list splitted by types

Task list should split main task list and done task list like this:

Tasks
1  (1/4)  Read a book
2  (0/2)  Fix the table

Done tasks
3  (5/5)  Cook a dinner

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.