Решение на Изберете си проект от Йоан Динков

Обратно към всички решения

Към профила на Йоан Динков

Код

"""
**Trackington.io**
# 1. Потребители
- Всеки може да се регистрира посредством имейл и парола (и потвърждение по имейл). След регистрация всеки потребител (който в системата, се асоциира с предоставения от него имейл) има възможност да създава нови проекти, както и да вижда всички публични проекти направени до сега.
- Потребителски роли
= owner
- при създаване на проект първия потребител е owner;
- има право да добавя нови потребители;
- има право да променя ролите на вече добавените потребители (имаме поне 1 owner, като всички участващи в проекта могат да са owner-и)
- има право да променя задачите на всички останали роли под него;
- има право да архивира, изтрие проекта;
= да поставя нови задачи на други
= contributor – реално има три нива на настройки (read, write, admin)
\* read – има само достъп до задачите без да може да ги променя
\* write – има права на обикновен потребител
\* admin – има всички права на owner, без право да закрива проекта и да променя owner;
# 2. Проект
- Нива на достъп - публичен и личен.
При лични проекти, само потребителите, които участват в тях имат право да работят по и да виждат задачите в него.
При публични проекти, всички регистрирани потребители, имат възможност да виждат какво се случва с проекта, но нямат право да работят по него (readonly).
- Проекта е съвкупност от задачи.
# 3. Задача
- съдържа описание - свободен текст;
- съдържа категория – Epic, Task, Sub Task;
- съдържа тип -Bug, Improvement, New Feature, Story, Task;
- съдържа приоритет - Blocker, Critical, Major, Minor, Trivial;
- съдържа статус - Open, In Progress, Resolved, Closed, Reopened
- съдържа решение за приклячването на задачата - Fixed, Duplicate, Won't Fix, Incomplete, Cannot reproduce, Redundant,Revisit in Future, Works as designed, Invalid;
- съдържа потребителя който е създал задачата (Reporter), потребителя който в момента работи по нея (Assignee)
- Time Tracking (опционално) отчитане на време (планирано, актуално) - потребителите ще имат сами възможност да определят планирано време като го задават в удобен за тях формат, както послемогат да добавят и изминало време (от системна гледна точка всичко ще се преработва до минути) – тъй че ограничението е от една минута до безкрай;
- съдържа задачи - при Epic категория „децатата" са нормални задачи. Всяка задача може да има под задачи. Всяка parent задача,получава time tracking-a (и story points-a);
- съдържа коментари за нея
- съдържа точки за задача (story points, опционално {само при задачи тип story})
- съдържа спринт
- при създаване на нов спринт, всички незавършени задачи от текущия попадат в новия.
- спринта има дата за начало и край
- спринта има име
\* Всички стойности по всяка една задача не влият по никакъв на системата. Всичко може да се променя, по всяко време.
\* По подразбиране се виждат всички незавършени задачи за съответния спринт, както и незавършените задачатие в "Backlog-a". Backlog-a е "специален спринт", тоест всички задачи, които не са били в спринт, са в Backlog-a (там попадат задачите по подразбиране.)
\* Няколко планувани изгледа в web версията
- Dashboard – всички „активни" задачи за потребителя
- Calendar – сбито представяне на месеца в часове (в клетка с деня се показва колко часа са „log"-нати")
- Normal – изглед със всички активни задачи (epics) за активния спринт.
"""

История (1 версия и 3 коментара)

Йоан обнови решението на 22.04.2015 20:48 (преди почти 9 години)

+"""
+**Trackington.io**
+
+
+
+# 1. Потребители
+
+ - Всеки може да се регистрира посредством имейл и парола (и потвърждение по имейл). След регистрация всеки потребител (който в системата, се асоциира с предоставения от него имейл) има възможност да създава нови проекти, както и да вижда всички публични проекти направени до сега.
+
+ - Потребителски роли
+
+ = owner
+
+ - при създаване на проект първия потребител е owner;
+
+ - има право да добавя нови потребители;
+
+ - има право да променя ролите на вече добавените потребители (имаме поне 1 owner, като всички участващи в проекта могат да са owner-и)
+
+ - има право да променя задачите на всички останали роли под него;
+
+ - има право да архивира, изтрие проекта;
+
+ = да поставя нови задачи на други
+
+ = contributor – реално има три нива на настройки (read, write, admin)
+
+ \* read – има само достъп до задачите без да може да ги променя
+
+ \* write – има права на обикновен потребител
+
+ \* admin – има всички права на owner, без право да закрива проекта и да променя owner;
+
+# 2. Проект
+
+ - Нива на достъп - публичен и личен.
+
+При лични проекти, само потребителите, които участват в тях имат право да работят по и да виждат задачите в него.
+
+При публични проекти, всички регистрирани потребители, имат възможност да виждат какво се случва с проекта, но нямат право да работят по него (readonly).
+
+ - Проекта е съвкупност от задачи.
+
+# 3. Задача
+
+ - съдържа описание - свободен текст;
+
+ - съдържа категория – Epic, Task, Sub Task;
+
+ - съдържа тип -Bug, Improvement, New Feature, Story, Task;
+
+ - съдържа приоритет - Blocker, Critical, Major, Minor, Trivial;
+
+ - съдържа статус - Open, In Progress, Resolved, Closed, Reopened
+
+ - съдържа решение за приклячването на задачата - Fixed, Duplicate, Won't Fix, Incomplete, Cannot reproduce, Redundant,Revisit in Future, Works as designed, Invalid;
+
+ - съдържа потребителя който е създал задачата (Reporter), потребителя който в момента работи по нея (Assignee)
+
+ - Time Tracking (опционално) отчитане на време (планирано, актуално) - потребителите ще имат сами възможност да определят планирано време като го задават в удобен за тях формат, както послемогат да добавят и изминало време (от системна гледна точка всичко ще се преработва до минути) – тъй че ограничението е от една минута до безкрай;
+
+ - съдържа задачи - при Epic категория „децатата" са нормални задачи. Всяка задача може да има под задачи. Всяка parent задача,получава time tracking-a (и story points-a);
+
+ - съдържа коментари за нея
+
+ - съдържа точки за задача (story points, опционално {само при задачи тип story})
+
+ - съдържа спринт
+
+ - при създаване на нов спринт, всички незавършени задачи от текущия попадат в новия.
+
+ - спринта има дата за начало и край
+
+ - спринта има име
+
+ \* Всички стойности по всяка една задача не влият по никакъв на системата. Всичко може да се променя, по всяко време.
+
+ \* По подразбиране се виждат всички незавършени задачи за съответния спринт, както и незавършените задачатие в "Backlog-a". Backlog-a е "специален спринт", тоест всички задачи, които не са били в спринт, са в Backlog-a (там попадат задачите по подразбиране.)
+
+ \* Няколко планувани изгледа в web версията
+
+ - Dashboard – всички „активни" задачи за потребителя
+
+ - Calendar – сбито представяне на месеца в часове (в клетка с деня се показва колко часа са „log"-нати")
+
+ - Normal – изглед със всички активни задачи (epics) за активния спринт.
+"""

С удоволствие, бих премахнал част от спецификацията. Да кажем всички проекти да са публични, да няма sprint като идея, както и да се премахнат sub tasks (epic-ците също изчезват в частност). Но пък не знам, вие трябва да кажете каква е сложността на проекта.

Опитвам се да не давам горна граница. Никога не знам на какво може да си способен да направиш. Единственото, което ме интересува, е проектите да не са нечестно прости. Твоя определено не е.

Ще приемем спецификацията с промените от последното ти съобщение.