Skip to content
Snippets Groups Projects

[WIP] Project management

Closed Nico requested to merge project-management into main
2 unresolved threads
README.md 0 → 100644
+ 167
0
# Milestone-Planning Briar-Desktop
Copy the flowchart below into <https://mermaid-js.github.io/mermaid-live-editor>
in order to export SVG files.
Note that the subgraphs are rendered in reverse order, the last subgraph in the file appears at the top.
```mermaid
flowchart LR
classDef devel color:#000,fill:#ffd,stroke:#000,stroke-width:4px;
classDef misc color:#000,fill:#ccf,stroke:#000,stroke-width:4px;
classDef default color:#000,fill:#fff,stroke:#000,stroke-width:2px;
classDef done color:#000,fill:#6e0,stroke:#000,stroke-width:2px;
classDef prog color:#000,fill:#fd0,stroke:#000,stroke-width:2px;
funding:::misc
subgraph funding [Funding]
f1(Acquire funding for further<br>development and maintenance)
f1 --> f2
f2(Write proposal<br>for some program)
f2 --> f3
f3(Identify promising<br>funding opportunities)
end
docs:::misc
subgraph docs [Documentation]
doc1(All our work<br>is nicely documented)
doc1 --> doc2 & doc3
doc2(We have published<br>installation instructions<br>for all platforms)
doc3(There is a seciton<br>on the website<br>with screenshots<br>demonstrating the app)
end
distribution:::misc
subgraph distribution [Distribution]
dist1(Distribution to all<br>desired Operating System)
dist1 --> dist2 & dist3 & dist4 & dist5
dist2(Distribution to<br>Windows is working)
dist2 --> dist21 & dist22
dist21(Building MSI files<br>works)
dist22(MSI file is<br>published on server)
dist22 --> dist21
dist3(Distribution to<br>arbitrary Linux<br>distros<br>is working)
dist3 --> dist31 & dist32
dist31(Building flatpak packages works)
dist32(flatpak packages<br> are available via<br>central package<br>distribution)
dist32 --> dist31
dist4(Distribution to<br>Debian<br>is working)
dist4 --> dist41 & dist42
dist41(Building Debian<br>packages works)
dist42(Debian packages<br>are available in<br>official repos<br>a.k.a. 'apt install briar')
dist42 --> dist41
dist5(Distribution to<br>macOS is working)
dist5 --> dist51 & dist52
dist51(Building DMG<br>files works)
dist52(MSI file is<br>published on server)
dist52 --> dist51
dist6(Installation instructions<br>published)
dist6 --> dist2 & dist3 & dist4 & dist5
end
testing:::misc
subgraph testing [Testing]
testing1(test database<br>is available)
testing2(integration tests)
testing3(special test mode)
testing3 --> testing31
testing31(ability to add<br>testing contacts)
testing4(ability to run<br>multiple clients<br>at the same time<br>on a single machine)
testing4 --> testing41
testing41(tor port can<br>be specified as<br>command line option)
end
sdm:::devel
subgraph sdm [disappearing messages]
sdm1(disappearing messages work in private chats)
sdm1-->sdm2 & sdm3 & sdm4
sdm2(user can manager<br>disappearing messages<br>settings)
sdm3(chat recognizes<br>and properly displays<br>disappearing messages<br>settings configured<br>by contact)
sdm4(chat properly<br>displays disappearing<br>messages as such)
sdm4("special bubbles"<br>appear in chat<br>history to visualize<br>which messages are<br>going to disappear)
end
fo:::devel
subgraph fo [forums]
fo1(forums work<br>as expected)
end
gc:::devel
subgraph gc [group chats]
gc1(group chats work<br>as expected)
gc1-->gc2 & gc3 & gc4 & gc5
gc2(user can<br>send group messages)
gc3(user can<br>receive group messages)
gc4(owner can manage<br>group members)
gc4-->gc41 & gc42 & gc43
gc41(owner can<br>invite users to group)
gc42(owner can see<br>pending group<br>invitations)
gc43(owner can revoke<br>pending group<br>invitations)
gc5(user can manage<br>group membership)
gc5-->gc51 & gc52 & gc53 & gc54 & gc55
gc51(user gets notified<br>about new group<br>invitations)
gc52(user can see<br>pending group<br>invitations)
gc53(user can<br>accept group invitations)
gc54(user can<br>decline group invitations)
gc55(user can<br>leave a group)
end
mp:::devel
subgraph mp [multiplatform setup]
mp1(app is able<br>to run on all target<br>platforms)
mp2(tor is available<br>for all target<br>platforms)
mp1 --> mp2
mp2 --> mp21 & mp22 & mp23
mp21(tor is available<br>for Linux)
mp21:::done
mp22(tor is available<br>for Windows)
mp22:::prog
mp23(tor is available<br>for macOS)
end
pc:::devel
subgraph pc [private chats]
pc1(private chats work<br>as expected)
pc1-->pc2 & pc3 & pc4 & pc5 & pc6
pc2(basic chat history<br>gets displayed properly)
pc2:::prog
pc3(user can<br>receive messages)
pc4(user can<br>send messages)
pc5(user can<br>receive image<br>attachments)
pc6(user can<br>send image<br>attachments)
end
mc:::devel
subgraph mc [managing contacts]
mc0(managing contacts works)
mc0 --> mc1 & mc2 & mc3 & mc7
mc1(contact list<br>displays existing contacts)
mc1:::done
mc2(newly added contacts<br>appear in contact list)
mc3(user can add<br>other contacts remotely)
mc3-->mc4 & mc5 & mc6
mc4(entering remote<br>briar link works)
mc5(user can copy<br>their own remote<br>briar link)
mc6(pending contacts<br>are displayed<br>somewhere)
mc7(introducing contacts works)
mc7 --> mc71 & mc72 & mc73 & mc74 & mc75
mc71("user can introduce<br>contact (introducee)<br>to other contacts")
mc72(introducee can<br>accept/decline<br>introduction)
mc73(contact can<br>accept/decline<br>introduction)
mc74(successful introduction<br>works as expected)
mc75(failed introduction<br>works as expected)
end
gs:::devel
subgraph gs [general setup]
gs1(app lifecycle<br>is working)
gs1 --> gs2 & gs3 & gs4 & gs5
gs2(user can run<br>the application)
gs2:::done
gs3(user can login<br>to existing account)
gs3:::done
gs4(user can create<br>new account<br>if none exists yet)
gs5(user can delete<br>current account)
end
```
Loading