Database and class diagrams

In this week we present to you our database as well as our class diagrams.

We created the ERM for the database using draw.io:

For the api which is written in typescript we used tplant to generate a PlantUML diagram:

The website is written with angular dart and we used dcdg to generate a PlantUML diagram:

For the app we also used dcpg since it is written wich flutter and dart:

Since we used command line tool to generate these diagrams we plan to add a stage to our CI pipeline that generates and adds the PlantUML to your markdown documentation.

Unfortunatley the PlantUML renderer provides not possibility to set a width constraint and since there are no connections between the classes the generated images are quite wide. When rendering to png you can’t see everything but svg works. Unfortunatley the GitLab markdown integration of PlantUML defaults to png …

Retrospective

This weeks retrospektive, for us as a team, was very prokductive and informing. We found quite a few points that cought us a bit of guard, giving us some good starting points to further improve the teamwork on our wonderful project. We were happy with the meeting overall and are going to continue on doing retrospectives in the futur.

In more detail:
We constructed a clear plan to improve on the points we discussed in the meeting, sorting he steps by importance. Everyone participated and contributed to the succes of this meeting.
However, the only real thing keeping us from maximum efficiency at our retrospective was the time management. It took a long time to write down some simple bulletpoints, just because we didn’t understand the the goal of this part (potential). We think those steps could be done a lot quicker or even prepared beforhand. Overall this
should be sorted in the next few weeks when a retrospective is something “normal” in our sprint.

These are the Flipcharts generated by this retrospective:

Project management tool

The topic of this weeks blogpost is our project management tool and its connection with our other tools.
We are using YouTrack as our project management tool, because we are also using IntelliJ as our IDE and the connection of both is very easy. YouTrack is a very powerful tool with which you are able to manage big projects. Because of this it is also very complex and we are still learning much on how to utilize this for our project.

Until now we set up a agile board where we are organizing our issues. We only just recently began to use SCRUM and sprints in our project. Because of this our first sprint contains the work items of the first six weeks of our project. From now on the duration of our sprints will be one week and we will meet atleast weekly to discuss what tasks we have to do in the next sprint.

It was really easy to connect IntelliJ with YouTrack. You just have to install a plugin and connect to your Youtrack server. As you can see in the picture below we can see the assigned tasks for us directly in our IDE and are also able to automatically track our spent time developing as you can see on the right. This is very useful because it is often very unprecise when you have to track the time by yourself.

We also connected Youtrack with our Gitlab server. On the one hand we are able to just link an issue to a task in YouTrack, on the other hand it is also possible to let Youtrack parse comments for tasks directly out of our commit comments on Gitlab. You can find an example for this in the issue linked below.
http://youtrack.maphynn.de/issue/MAPHYNN-21

Our agile board was already mentioned at the beginning of the blogpost. When you follow the next link you can find our agile board with our current sprint for week seven. As you can see there are our issues tagged to a member of our team and a subsystem of our project, aswell as to the fitting workflow and phase of the RUP model. There is also our estimated and spent time for each task displayed.
http://youtrack.maphynn.de/agiles/111-1/112-2

At last but not least you can find a burndown and a gantt chart, which we generated with our issues from the first sprint, under the links below.

http://youtrack.maphynn.de/reports/burndown/143-4
http://youtrack.maphynn.de/reports/gantt/145-2?view=actual

“.feature” files

This week we created some .feature files, automating the tests for our software. However, we did not manage to fully implement cucumber yet which is why we simply created the files.
You can see these features in our use case documentation next to our activity diagrams:

https://gitlab.maphynn.de/maphynn/maphynn/blob/master/uc_documents/UC_Change_critical_information.md

Of course we will implement cucumber as fast as possible.
http://gitlab.maphynn.de/maphynn/maphynn/blob/master/uc_documents/UC_Customize_profile.md

Here is also a picture how the gherkin file looks like in our IDE:

And the proof, that we are able to use autocomplete for feature files:

We also had some problems with our server, managed to fix them after a few days though.