-
Notifications
You must be signed in to change notification settings - Fork 0
Development
Andebugan edited this page Apr 30, 2024
·
10 revisions
This bot is created out of frustration over inability of many existing planning and collaboration software to perform their task efficiently. Main objectives of this project are:
- Base planning API for:
- personal task management - to not waste your time
- group task management - to not waste others time
- smart planning - to plan more efficiently
- smart reminding - to remind yourself of things to be done
- Telegram bot interface for:
- telegram goodies - ability to reference messages in tasks, usage of bot in groups and etc.)
- easy access - if you have telegram you can use planning app via bot no strings attached
- general tasks - basic planner functionality, user should be able to create and track progress/completion of a task via provided tools
- tasks with time limitations - most of real life tasks have deadlines in one way of another and other tasks start with delay, user should be able to create and work with such time limitations and they should have influence on other time tasks (can tasks overlap and etc.)
- repeating tasks - some tasks repeat periodically like buying food, paying for rent and etc., user should be able to create a repeating tasks with consideration of different types of repeating (daily, monthly, several days each week and etc.)
- group tasks - some tasks require other peoples contribution in order to be completed, user should be able to create tasks that track and manage activity of several people
- Users
- creating and managing user account
- access management - users should not be able to have access to other users tasks without specific permission and there should be ways to obtain such permission
- Tasks
- basic task operations
- create
- from zero
- from template
- from copy
- select
- by id
- by name
- by description
- by deadline
- by repeat
- by length
- by people (if group task)
- by completion
- update selected
- all fields
- specified fields
- create
- planning
- automatic planning on free time
- reminding *
- basic task operations
Project is structured in three layers each responsible for specific task:
- telegram interface
- model
- repository
Telegram interface layer is responsible for communication with telegram API and basically user interactions. It doesn't perform any business tasks and works only as adapter for model layer.
Model layer is responsible for business logic - task CRUD operations, planning and reminding.
Repository layer is responsible for providing abstract database access API for model layer to use.