This week we handed in code for our project. Before doing that we created tests package in our code. In this package we created test classes which were meant to test public classes in our project. I also did a major refractor of entire code, I cleaned up the comments and javadocs. We were going through program’s functional requirements and were checking if our program is consistent with them. We also tested our program against tests from test specification. After handing our code in we started to work on documentation. I worked on “Program structure” part of the seqa10 document. I also was working on Physical limits for our program with Alex. We plan to go through the entire documentation once again tomorrow before final hand – in. This week costed me a lot of “late – game” work and I spent about 30 hours working on the project. By far it was the longest time that I spent working on this project during the week.
This week we had to sum up what still needs to be done and what is ready. It appeared that our program is consistent with almost all requirements. I added exercises names to the routine so that user is able to see what is the name of exercise that they perform. I also added exercises descriptions , which appear under media player. I changed paused time a little bit so that it isn’t reset every time user re – starts the routine. I helped to change history table so that the second column contains the overall exercise duration. We did a major refractor of how we access exercise’s videos. It now stores objects in the class that is supposed to be exercises factory (instead of classes). I feel very good about our work and feel motivated to finish up all things that still need to be done. This week I spent about 18 hours on the project.
A time came for us to start finishing code for the final application. In the beginning of the week (after Wednesday) I created rough version of application that already contained videos in it. It was a big thing because it meant that we were nearly done with code for the application. Videos weren’t displayed randomly yet. For this I used Andreas’s algorithm. I added two methods to RoutineTimer class: generateRandomExerciseNumbers(int numberOfExercises) and fillExerciseArrayIn(int  randomArray). These methods combined provide randomness to the sequence in which videos are displayed. Our main problem (also in Chris’s report) was the way how our RoutineParameters class was implemented. This class was too large, It contained all parameters that were changing at some point in the code. What I decided to do was splitting this class into smaller ones. Now we have smaller classes and each is responsible for smaller task. Code looks more balanced. I also moved some methods from one class to another so that their location in the project makes more sense. I also started to get into sounds in the application. We are supposed to inform user about what happens at which point of the routine. Now we have three sounds in the application: button clicking sound (not very useful in therms of informing user but it’s good to have this kind of “amendment”, exercise change sound and quitting sound. We are looking forward to have more of these sounds so our application will inform about what’s happening at each stage.
This is blog entry for Easter. During this period me, Peter and Andreas agreed that we are going to help Peter to optimise program’s appearance on windows as the final version of it is going to be checked on windows. We needed this meeting because I do lot of work in the JavaFx part of the program and I work on Mac.
[:en]This week I decided to make final version of GUI for the program – I normalised fonts, adjusted button widths and heights, added a new button in one window (exercise name reset), changed positions of some buttons and labels so it looks like we use space in a better way. This is very monotonous activity and requires a lot of patience so I spent about one day (12 hours) for it in total during the weekend. Last week our group met to set some tasks for the weekend. On Monday we met to refractor the code. We made a lot of changes to classes and objects. Today we performed review meeting. We cautiously checked the design document. We spent on meetings about 6 hours in total. I’m very confident about our project right now. Everything goes in the right direction. [:]
[:en]This week Peter gave me a list of things in the program that needed to be completed. I was working on video in the exercise window. I made a method that has a functionality of playing video. I appended seconds and minutes to values that need it. In confirmation window I created a button that is now able to save routine. I provided a functionality, which enables to remove and rename exercise from the routines table. I also fixed timer so now if user creates / chooses exercise routine with one exercise – it allows to do it. Another functionality is that user can’t enter the same name for the routine twice as program doesn’t allow to do this. If user customises routine with the same parameters that were already created – program will inform user about this and prompt if user wants to continue saving. I also added some errors – preventing functionality. If user wants to remove exercise and no exercise is chosen – program informs user about it. Our group had meeting on Wednesday. We were talking about duties that each on us should complete by the end of the week. For a while I became member of design specification team. I got simple task of writing classes that fulfil program’s functional requirements. On Friday we had another review meeting. We were also going through things that still need to be done and reviewing our work on document. On Tuesday Me, Peter, Andreas and Rowan met and made some code reformatting. Now methods are sorter and program looks clearer. I spent 1 day (12 hours in total) on amendments that Peter gave me and half a day (6 hours in total) on architectural document improvement and making some minor amendments. [:]
[:en]This week I was styling JavaFX interface of the application prototype so it looks neater right now. I added good – looking animations for transition between windows. I also added additional functionality to the application. Right now user is able to delete rows from routines table and rename them. I changed the confirmation window so that user can do more things in it. On Friday the entire group had a review meeting. We mainly went through Test Specification as draft of this document had uploaded this week. Me and Peter also decided that we are going to help people from architectural design team in order to be able to code soon (basing on architectural design document). This week as Peter was mainly figuring out what’s happening in the architectural team – I was implementing JavaFx features. This is going to change a little bit for now. I’m also going to help in creating the architectural design document. Today I had a meeting with people from this group and I’m going to write functional requirements. I also comment and javadoc my code carefully because it’s time to share it with other members of the group so that they can help us with development. This week I spent one day (12 hours in total) on redesigning and adding functionality to the application. The remaining half of the day (6 hours in total) I spent on review meetings and talking about how will our project be going from now on. Even though we have a lot do I’m very optimistic about the project right now.[:]
[:en]This week I was continuing on working with JavaFx. The most important thing I did was to figure out how to add video to JavaFx program so that program doesn’t spit out any errors and shows video. Right now I’m ready to receive exercises videos from other people from the group and put it into the code. I also implemented a functionality that allows to track how much time user spent pausing the routine. Another functionality that I implemented was colouring history table rows. Our history table records all routines that user performed. Colours now indicate if routine was completed, not completed and if user was skipping exercises or not. I also made minor adjustments of the design. Now tables look better, in more modern way. On Friday I met with members of my group. The purpose of the meeting was to help our group leader – Aaron to put together User Interface document. We gave him some hints and advices. He improved the document during the weekend and we met again on Tuesday. On these meeting QA manager – Alex approved UI document and Aaron got green light to upload UI documents to git repository. Also me and Peter agreed on how we are going to cooperate from now on. Peter is going to help architectural – draft -team to design a code for the application. He is also going to share his JavaFx ideas with me and I’m going to turn these ideas into code. In total all work that I did during this week is around 18 hours.[:]
[:en]During this week I was working with Peter and people that were responsible for architecture documentation and design. I attended three meetings. During the first one we were talking about how our program should be build from code development side. We discussed main problems, classes, UML diagrams prototypes and we walked through libraries which will be needed for the programming. Considering informations that we agreed on during the meeting – me and Peter decided that it’s time for trying to develop code that is going to solve problems that we defined. We coded a prototype of the application, which doesn’t have much functionality but it has timers that already work properly, user can specify exercise routine parameters, routines are saved after completing one and user can look into exercises history. It’s only a prototype and it shows how much work we still need. On Saturday I attended another meeting during which we were adding another ideas for the project architecture, we came up with ideas that will make our application more robust and easy to use. The last meeting took place on Tuesday. Me and Peter wanted to talk for the last time before group meeting and to see if there are some amendments in the prototype to be done. It appeared that it looks good already, but it’s far away from perfection, After the meeting We made some changes (adding quit button to the exercise window, adding a window after quitting, changing names of some buttons). Peter is deputy of group project manager right now so he has to organise group meetings and put everything together, but still he helps me a lot with the code. I’m very confident about our group as we motivate each other on each step and check if there is anything that could be done better. All this work took me 18 hours. I was mainly trying to figure out how to solve programming problems such as: getting timers to work, customising a routine, adding routines to the history and putting prototypes’ windows into one piece of work.[:]
[:en]As I gave an initial design to the application that our team is going to be working on, I decided to bring this design to life. With Aaron’s permission I left UI part of project for now and I moved to JavaFX part of it. For the entire week I was cooperating with Peter.
Firstly we discussed the way how windows should be programmed. After Discord voice meeting we agreed on how we are going to split our duties. I created windows that contained timers, and some confirmation windows. After the weekend we joined our work into one program. This program doesn’t present full functionality that Assignment requires from us but it’s a good start because now we know which window comes after which and how to operate in the system that we roughly designed during the first Week. I feel that the next weekend we are going to have to start thinking about more serious programming problems. I spent about 18 hours on the project – I distributed this time in a way that I was able to learn as many JavaFx informations as it’s possible and to build a rough prototype of the application.[:]