Search
Write a publication
Pull to refresh
0
0
Send message

есть еще https://doctracker.ru/, концептуально больше на notion похож, то есть два в одном, таск-трекер и дока, только дока важнее, и задачи прикреплены к своему разделу документации

Тоже забочусь об эффективности, но и ещё сочетаю с эстетичностью

Настоящая система управление проектами это DocTracker, там центральное место занимает документация, фичи, накопление информации, и все задачи привязаны к фичам, а канбан-доска как помощь в визуализации этих задач в разных срезах. А у вас перечислены только системы управления задачами, которые как правило теряют и забывают, и в новых задачах наступают на старые грабли

Зачем изобретать велосипед. Просто берешь аналог notion - doctracker

Из российских есть ещё https://doc-tracker.ru/

это необычный такс трекер, который заботится о вашем Легаси, здесь проект начинается с идеи и превращается в документацию, которая обрастает задачами, все они привязаны к своему разделу документации и можно посмотреть их на классической канбан доске.

Есть ещё doctracker.ru, интерфейс похож на привычную адыешку, по мимо задач и доски есть ещё проектная документация, все задачи группируются по фичам доки

Я не понимаю, почему люди не переходят на elm, если вам так важно убрать бойлерплейт код, что вы готовы создовать либы вокруг редакса чтоб от него избавится. Ведь редакс пришел именно из ельма, и там те же экшены и редюсер выглядит наиболее выгодно и локанично. Вот тот же пример на elm:


type alias Model =
  { loading : Bool
  , error : Just String
  , popupsOpened : List String
  }

init : Model
init =
  { loading = True
  , error = Nothing
  , popupsOpened = ["popup1", "popup2", "popup3"]
  }

type FetchingStatus
  = Start String
  | Fail String
  | Success String

type Msg
  = Open FetchingStatus
  | Close FetchingStatus

update : Msg -> Model -> Model
update msg model =
  case msg of
    Open status ->
      case status of
        Start ->
          { model | loading = True, error = Nothing }

        Fail error ->
          { model | error = Just error }

        Success popupName ->
          { model | popupsOpened = model.popupsOpened :: popupName }

    Close status ->
      case status of
        Start ->
          { model | loading = True, error = Nothing }

        Fail error ->
          { model | error = Just error }

        Success popupName ->
          { model | popupsOpened = List.filter (\x -> x not popupName) model.popupsOpened }

Information

Rating
11,648-th
Registered
Activity