add TODO document + progress calculation
This commit is contained in:
		
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -4,6 +4,7 @@ | ||||
| /build/www/** | ||||
| /src/test/javascript/coverage/ | ||||
| /worktrees/ | ||||
| TODO-progress.png | ||||
|  | ||||
| ###################### | ||||
| # Node | ||||
|   | ||||
							
								
								
									
										87
									
								
								TODO.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										87
									
								
								TODO.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,87 @@ | ||||
|  | ||||
| ## TODO | ||||
|  | ||||
| This document is just for tracking the initial development project and thus only in German. | ||||
|  | ||||
| ### Kommunikative Aufwände | ||||
|  | ||||
| | ID  | Beschreibung                                                |  Budget | Aufwand | Leistung | | ||||
| |:----|:------------------------------------------------------------|--------:|--------:|---------:| | ||||
| | PRE | Vorbesprechungen bis inkl. KickOff-Meeting                  |       8 |       4 |        4 | | ||||
| | PRJ | Zweiwöchige Projektbesprechungen                            |      12 |       2 |        2 | | ||||
| | RET | Vierwöchige Retrospektiven (optional)                       |       6 |         |          | | ||||
| | TRA | Einarbeitung von Mitarbeitern des Auftraggebers (Training)  |      12 |         |          | | ||||
| | E2E | Unterstützung beim Aufbau der E2E-System-Integrations-Tests |      40 |         |          | | ||||
| | MIG | Unterstützung bei der Datenmigration                        |      16 |         |          | | ||||
| | INS | Unterstützung ei der Inbetriebnahme / Einführung            |      16 |         |          | | ||||
| | APP | Abnahme (Approval)                                          |       4 |         |          | | ||||
| | SUP | Unterstützung nach der Abnahme (Support)                    |      12 |         |          | | ||||
| |     |                                                             |         |         |          | | ||||
|  | ||||
|  | ||||
| ### Allgemeine Leistungen | ||||
|  | ||||
| | ID  | Beschreibung                                               |   Budget | Aufwand | Leistung | | ||||
| |:----|:-----------------------------------------------------------|---------:|--------:|---------:| | ||||
| | DEV | Aufbau der Entwicklungsumgebung (bis inkl. Unit-Tests)     |       16 |      12 |       16 | | ||||
| | ATN | Entwurf des Authorisierungs-Systems                        |       40 |      68 |       36 | | ||||
| | ATZ | Auswahl und Implementierung des Authentifizierungs-Systems |       20 |         |          | | ||||
| | ITS | Aufbau einer Umgebung für Integrationstests (*1)           |        4 |       4 |        4 | | ||||
| | ATS | Aufbau einer Umgebung für Akzeptanztests (*1)              |       16 |       3 |          | | ||||
| | PIP | Aufbau einer Build- und Testpipeline                       |       20 |         |          | | ||||
| | ARC | Aufbau einer Architekturkontrolle                          |        8 |       2 |        2 | | ||||
| |     |                                                            |          |         |          | | ||||
|  | ||||
| (*1: ITS+ATS sind aufgesplittet aus TST mit 20 geplanten Stunden entstanden) | ||||
|  | ||||
| ### Leistungen bezogen auf fachliche Objekte | ||||
|  | ||||
| | ID  | fachliches Objekt      | Persona        | Ops          | Budget | Aufwand | Leistung | | ||||
| |:----|:-----------------------|:---------------|:-------------|-------:|--------:|---------:| | ||||
| | ROL | Rollen                 | Hostmaster     | Scrulojtx    |     26 |      10 |        5 | | ||||
| | USR | LDAP-User              | Hostmaster     | Scrufojtex   |     29 |      10 |        5 | | ||||
| | USR | LDAP-User              | LDAP-User      | rufojex      |     20 |      10 |          | | ||||
| | GRP | Gruppen                | Hostmaster     | scrulojtx    |     26 |         |          | | ||||
| | CBD | Customer Base          | Sachbearbeiter | ScruLojia    |     20 |      10 |        4 | | ||||
| | CBD | Customer Base          | Kunde          | sr           |      5 |       1 |          | | ||||
| | MSV | Managed Virtual Server | Hostmaster     | crudfoj      |     20 |         |          | | ||||
| | MSV | Managed Virtual Server | Owner          | rulojt       |     15 |         |          | | ||||
| | MWS | Managed Webspace       | Hostmaster     | scrudfojte   |     26 |       2 |          | | ||||
| | MWS | Managed Webspace       | Owner          | srulojte     |     18 |       1 |          | | ||||
| | MWS | Managed Websppace      | Admin          | srulojte     |      6 |       1 |          | | ||||
| | ACC | Unix-Account           | Owner          | scrudfojte   |     26 |       2 |          | | ||||
| | ACC | Unix-Account           | Admin          | sruloje      |     15 |       1 |          | | ||||
| | DOM | Domain                 | Owner          | (scrudfojte) |      9 |       1 |          | | ||||
| | DOM | Domain                 | Admin          | (srle)       |      3 |       1 |          | | ||||
| | EMA | E-Mail-Address         | Owner          | (scrudfojte) |      9 |       1 |          | | ||||
| | MAL | E-Mail-Alias           | Owner          | -            |      0 |       1 |          | | ||||
| | DBP | Database Postgres      | Owner          | (scrudlojte) |      9 |         |          | | ||||
| | DBP | Database Postgres      | Admin          | (srle)       |      3 |         |          | | ||||
| | DUP | Database-User Postgres | Admin          | (scrudlojte) |      9 |         |          | | ||||
| | DUP | Database-User Postgres | Admin          | -            |      0 |         |          | | ||||
| | DBM | Database MariaDB       | Owner          | -            |      0 |         |          | | ||||
| | DBM | Database MariaDB       | Admin          | -            |      0 |         |          | | ||||
| | DUM | Database-User MariaDB  | Admin          | -            |      0 |         |          | | ||||
| | DUM | Database-User MariaDB  | Admin          | -            |      9 |         |          | | ||||
| |     |                        |                |              |        |         |          | | ||||
|  | ||||
| **Ops Agenda**: **S**: Schema, **V**: View, **C**: Create, **R**: Read, **U**: Update, **D**: Delete, **L**: List, **F**: Filter, **O**: Optimistic Locking, **J**: Journal (Audit), **H**: Historization, **U**: Undo, **I**: Inactivate, **T**: Tombstone, **A**: Archive, **E**: Event, **X**: Extraordinary | ||||
|  | ||||
|  | ||||
| ### Wöchentlicher Status | ||||
|  | ||||
| <!-- file not committed to git, please run `tools/todo-progress` to generate --> | ||||
|  | ||||
|  | ||||
| In der folgenden Tabelle sind Aufwand und Leistung akkumulierte Werte. | ||||
|  | ||||
| <!-- generated todo-progress begin: --> | ||||
| | Datum      | Budget | Aufwand | Leistung | Verbleibend | | ||||
| |------------|-------:|--------:|---------:|------------:| | ||||
| | 2022-07-17 |    553 |      44 |        0 |         553 | | ||||
| | 2022-07-24 |    553 |       8 |        0 |         553 | | ||||
| | 2022-07-31 |    553 |     143 |       40 |         513 | | ||||
| | 2022-08-04 |    553 |     147 |       78 |         475 | | ||||
| <!-- generated todo-progress end. --> | ||||
|  | ||||
|  | ||||
							
								
								
									
										33
									
								
								tools/todo-progress
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										33
									
								
								tools/todo-progress
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,33 @@ | ||||
| #!/bin/bash | ||||
| # check if required programs are installed | ||||
| declare -a required=(gnuplot sponge) | ||||
| for cmd in "${required[@]}"; do | ||||
|     command -v $cmd >/dev/null 2>&1 || { echo >&2 "Required '$cmd' not installed => aborting."; exit 1; } | ||||
| done | ||||
|  | ||||
| # calculate current values | ||||
| let budget=`grep '^| ... |' <TODO.md | rev | cut -d'|' -f4 | rev | grep -o '[[:digit:]]*' | total` | ||||
| let effort=`grep '^| ... |' <TODO.md | rev | cut -d'|' -f3 | rev | grep -o '[[:digit:]]*' | total` | ||||
| let output=`grep '^| ... |' <TODO.md | rev | cut -d'|' -f2 | rev | grep -o '[[:digit:]]*' | total` | ||||
| let remainder=$(expr $budget - $output) | ||||
|  | ||||
| # generating progress report | ||||
| echo '<!-- generated todo-progress begin: -->' >.todo-progress.md | ||||
| sed -e '1,/todo-progress begin:/d' -e '/todo-progress end./,$d' TODO.md >>.todo-progress.md | ||||
| if [ "$1" = "--recalculate" ]; then | ||||
|     echo "| $(date --iso-8601) | $(printf "%6d" $budget) | $(printf "%7d" $effort) | $(printf "%8d" $output) | $(printf "%11d" $remainder) |" >>.todo-progress.md | ||||
| fi | ||||
| echo '<!-- generated todo-progress end. -->' >>.todo-progress.md | ||||
|  | ||||
| # replace the generated todo-progress part | ||||
| if [ "$1" = "--recalculate" ]; then | ||||
|     uniq <.todo-progress.md | sponge .todo-progress.md | ||||
|     sed -i -e '/todo-progress begin:/,/todo-progress end./!b' -e '/todo-progress end./!d;r .todo-progress.md' -e 'd' TODO.md | ||||
| fi | ||||
|  | ||||
| # re-generate progress chart | ||||
| sed -e's/^|//' <.todo-progress.md | tr '|' ';' | grep ';' | grep -v -- '---' >.todo-progress.csv | ||||
| gnuplot tools/todo-progress.gnuplot | ||||
| rm .todo-progress.md .todo-progress.csv | ||||
|  | ||||
| echo "HINT: To recalculate the current values and add a new line, use '$0 --recalculate'." | ||||
							
								
								
									
										6
									
								
								tools/todo-progress-line.csv
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								tools/todo-progress-line.csv
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | ||||
|  Datum      ; Soll-Leistung | ||||
|  2022-07-11 ;             0 | ||||
|  2022-07-31 ;           102 | ||||
|  2022-08-31 ;           253 | ||||
|  2022-09-30 ;           399 | ||||
|  2022-10-31 ;           550 | ||||
| 
 | 
							
								
								
									
										23
									
								
								tools/todo-progress.gnuplot
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								tools/todo-progress.gnuplot
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,23 @@ | ||||
| set xdata time                              # x-axis values are time (date) values | ||||
| set timefmt "%Y-%m-%d"                      # date value format | ||||
| set datafile separator ";"				    # CSV column separator is semicolon | ||||
| set key autotitle columnhead			    # first data line contains column titles | ||||
| set format x "%y-%m-%d"                     # display date format | ||||
|  | ||||
| set xrange ["2022-07-11":"2022-10-31"]      # x-axis value-range | ||||
| set yrange [0:600]                          # y-axis value-range | ||||
|  | ||||
| set key inside                              # graph legend style | ||||
| set xtics rotate by -45                     # rotate dates on x-axis 45deg for cleaner display | ||||
| set title 'hsadmin-ng Projektfortschritt'   # graph title | ||||
|  | ||||
| set terminal png                            # output format | ||||
| set term png size 920, 640				    # output canvas size | ||||
| set output 'TODO-progress.png'              # output file name | ||||
|  | ||||
| plot '.todo-progress.csv' 	using 1:2 with linespoints linetype rgb "black" linewidth 2, \ | ||||
| 	 '' 					using 1:3 with linespoints linetype rgb "red" 	linewidth 2, \ | ||||
|      '' 					using 1:4 with linespoints linetype rgb "green" linewidth 2, \ | ||||
|      '' 					using 1:5 with linespoints linetype rgb "blue" 	linewidth 2, \ | ||||
|      'tools/todo-progress-line.csv' using 1:2 with linespoints linetype rgb "gray" linewidth 1 \ | ||||
|  | ||||
		Reference in New Issue
	
	Block a user