<h1>Collaborative Project Management (Kanban in Gitea) </h1>
<imgsrc="0.png"class="imgRz">
</div>
</div><!-- /row -->
</div><!-- /container -->
</div><!-- /grey -->
<!-- +++++ Second Post +++++ -->
<divid="productivity3">
<divclass="container">
<divclass="row">
<divclass="col-lg-8 col-lg-offset-2">
<h2><b>What tools can i use ? </b></h2>
<p>Let's say you have a project with too many todolists for you to complete in one month like in our example from this <ahref="../microworkflow/index.html">previous tutorial</a>. While this kind of todolist organisation may work for individual work, this may not be ideal for collaborative work, where let's say you have 10 people that want to work on your project.</p>
<p>Rather than literally sending them your todo list text files over chat, you guessed it, you need a better, more serious solution. If you are familliar with Git (which is a distributed version control system, used to track versions of files), you may be thinking Github already, it is the biggest service for hosting open source code online, <ahref="https://github.blog/news-insights/company-news/github-and-microsoft/">but the problem is that it was acquired by Microsoft in 2018.</a> So if you're like me and you don't want your repositories taken down whenever microsoft feels like it (like what happened to <ahref="https://www.eff.org/deeplinks/2023/04/update-tornado-cash?language=el">Tornadocash</a>), you need to put your repositories elsewhere:</p>
<p>Therefore to stay in line with our OPSEC requirements we need to use the FOSS, self-hostable alternative: Gitea. We'll use our <ahref="https://git.nowhere.moe/">Gitea instance</a> for this tutorial, but you can do the same on your own gitea instance.</p>
</div>
</div><!-- /row -->
</div><!-- /container -->
</div><!-- /white -->
<divid="productivity2">
<divclass="container">
<divclass="row">
<divclass="col-lg-8 col-lg-offset-2">
<h2><b>Creating the repository</b></h2></br></br>
<p></p>
<p>First you need to register (feel free to use a throwaway email if you want), and then you need to create your first repository:</p>
<imgsrc="1.png"class="imgRz">
<imgsrc="3.png"class="imgRz">
<p>Now here we create our collaborative project repository:</p>
<imgsrc="4.png"class="imgRz">
<p>Then to you can create your readme file and the first commit in it, with the tutorial that's showcased:</p>
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
remote: . Processing 1 references
remote: Processed 1 references in total
To https://git.nowhere.moe/nihilist/my-collaborative-project.git
* [new branch] main -> main
branch 'main' set up to track 'origin/main'.
</code></pre>
<p>And from here as you can see, we have our README.md file thats visible from the repository:</p>
<imgsrc="8.png"class="imgRz">
<p>Now let's say you have multiple todolists like we previously saw (just exclude the "master todolist" (titled 0,txt) that is to be considered an index to list the other todolists), you can consider those as "issues" from now on.</p>
<pre><codeclass="nim">
[ mainpc ] [ /dev/pts/4 ] [~/todo lists]
→ cat 0.txt
-Project Opsec (243 -> 211)
-Privacy Category (2112)
<b>-Linux Host OS Task (21121.txt)</b>
-Anonymity Category (2113)
-Deniability Category (2114)
<b>-Veracrypt Task (21121 -> 21141.txt)</b>
<b>-Deniable VMs Task (21141 -> 21142.txt)</b>
-Project Infrastructure (24)
<b>-setup VPS (241)</b>
<b>-create the blog (241 -> 242)</b>
<b>-officially announce the blog is accepting contributions (242 -> 243.txt)</b>
</pre></code>
<p>Below you have the example of a detailed todolist:</p>
<pre><codeclass="nim">
[ mainpc ] [ /dev/pts/4 ] [~/todo lists]
→ cat 21142.txt
-Deniable VMs todo list, not Task (21141 -> 21142)
-To be explained:
- What is the usecase ?
- What tools are going to be used ?
- Why do we need Veracrypt ?
- Why do we need Whonix ?
-To be showcased:
- How to create the hidden volume
- How to put the Whonix VM inside the hidden volume
- How to use the emergency shutdown script as a non-root user
- How to start the emergency shutdown script with a cinnamon keyboard shortcut
</pre></code>
<p>so let's create an issue for it in gitea:</p>
<imgsrc="9.png"class="imgRz">
<imgsrc="10.png"class="imgRz">
<p>In the title of the issue i like to mention the Category of the issue, followed by the todolist title, and in the description i mention the list of tasks that must be done to complete the issue:</p>
<imgsrc="11.png"class="imgRz">
<p>And from there, you can create the rest of the issues for your project aswell in the same way, and see them listed here:</p>
<p>Now when you have alot of issues (let's say over a 100 issues) it's going to be hard to keep track of all of them by default. To help with the status tracking, you can setup a kanban project board:</p>
<imgsrc="6.png"class="imgRz">
<imgsrc="7.png"class="imgRz">
<imgsrc="13.png"class="imgRz">
<imgsrc="14.png"class="imgRz">
<imgsrc="15.png"class="imgRz">
<imgsrc="16.png"class="imgRz">
<imgsrc="19.png"class="imgRz">
<p>The default, and most popular Kanban setup is by having the <b>Backlog / Todo / Doing / Done</b> columns.</p>
<imgsrc="17.png"class="imgRz">
<p>Now to make sure your issues appear in your project board, you need to make sure that they are in the project board like so:</p>
<imgsrc="18.png"class="imgRz">
<p>once you've made sure all of your issues are in your project, you can drag and drop them in either column to easily keep track of their status:</p>
<imgsrc="20.png"class="imgRz">
<p>You can change the default columns <b>(backlog / todo / doing / done)</b> to adapt it to your project, for my projects for instance i like to have these columns: <b>(to be brainstormed, to be assigned, assigned (doing), to be reviewed, completed)</b>:</p>
<imgsrc="21.png"class="imgRz">
<p>Now you can customize your issues further with labels. For instance i like to have labels describing the difficulty of each issue: <b>"Simnple / Doable / Complex"</b> and labels to describe if the issue is supposed to be an <b>improvement</b>, or if it is under <b>external review</b>. you can create the labels here:</p>
<imgsrc="22.png"class="imgRz">
<imgsrc="23.png"class="imgRz">
<imgsrc="24.png"class="imgRz">
<imgsrc="25.png"class="imgRz">
<imgsrc="26.png"class="imgRz">
<p>once the labels are added to each issue, you can see the overall progress of the project:</p>
<imgsrc="28.png"class="imgRz">
<p>Now this is a small example, but if you want to see a real sized-project, check out the Opsec project i have on this <ahref="https://git.nowhere.moe/nihilist/blog-contributions/projects/1">project board</a>: </p>
<imgsrc="29.png"class="imgRz">
<p>And that's it! now you know how to handle a long-term large project. If you want to check out how i welcome collaborations on my opsec blog, check out the tutorial i made <ahref="../../opsec/contribute/index.html">here</a>.</p>
Until there is Nothing left.</p></br></br><p>Creative Commons Zero: <ahref="../../../../opsec/runtheblog/index.html">No Rights Reserved</a></br><imgsrc="\CC0.png">