# Ubertask ## Model ```mermaid classDiagram Dream "1" --> "*" Goal Goal "1" --> "*" Project Project "1" --> "*" Task TaskLibrary "1" o-- "*" TaskTemplates class TaskLevel { <> task project goal dream } class TaskStatus { <> active paused finished abandoned deferred } class TaskType { %% Idee: Filter task fields based on type <> SimpleTask ComplexTask %% Tasks that don't do anything but nudging Notify/Routine/Habit } class Task { %% - Specific – target a specific area for improvement. %% - Measurable – quantify or at least suggest an indicator of progress. %% - Assignable – specify who will do it. %% - Realistic – state what results can realistically be achieved, given available resources. %% - Time-related – specify when the result(s) can be achieved. UUID id String title String body Person assignee Date startDate Date endDate Date deferredUntil Duration estimatedTime Duration actualTime Boolean repeatable %% If predecessor == 1 -> Parent in a tree? Task parent List~Task~ predecessors List~Task~ children TaskType type %% Idee: Schutz vor zu viel von einem bestimmten task machen TaskWeight weight %% Idee: Wie hoch ist die persönliche Wahrscheinlichkeit diesen Task zu erledigen TaskProbability probability %% Idee: Komplexität je nach verfügbarer Brain Power, ggf zerlegen TaskComplexity complexity } class Team { Person teamMembers } class Person { name: String } class TaskLibrary { List~TaskTemplates~ templates } class TaskTemplates { %% Idee: sammle Default TaskTypes/Todo, zB einen Brief verschicken -> Brief drucken, Briefumschlag, Briefmarken, usw. Aber auch komplexere Themen denkbar: } ``` ## Views ```mermaid classDiagram class ProjectView { %% Shows a project overview } class TodayView { %% "Home" view that aggegates the most important content %% Shows todos and routines for the current day } class ScheduleView { %% View that allows scheduling } class TinderView { %% Helps prioritising tasks against each other } class CalendarView { } class TaskListView { } class FollowUpView { %% Show tasks that are delegated in some way and that have to be acted upon } class MindMapView { } class StrategyView { %% Show percentages (and something else?) for project goals, life goals, etc } class TimelineView { %% Generates a Gantt-Chart } class ReportingView { %% Reports current status, generates reports, invoices, etc. } ```