August 2018

Client work

Refactoring, refactoring and more refactoring. Continuing on with the client work I have been doing quite a bit of refactoring lately for the helpline case module.

I have been making sure all the code is commented, all the function parameters are type hinted and have return types as well making some of the functions more streamlined and have less lines of code.

One particular function I have refactored was quite large due to the nature of what the function was designed to do.

The function was a huge form designed which works with 4 database tables and is used to merge 2 helpline cases together into 1 new helpline case.

The function also shows and works with different database tables and shows or hides certain fields depending on the type of helpline case as the helpline case can have a number of different types.

I streamlined the code to half the number of lines of code the function contained.

Other than this I have been working on the update button on the helpline case datagrid.

When a case is locked I have implemented access rules to stop the case being accessed by any other user other than the owner of the locked case.

It only made sense that when a helpline case is locked that the update button needs to greyed out and become un-clickable to all users that do not have access to the case.

So I have implemented this functionality and used ajax so that the button updates in real time.

I have also recently started implementing the case alerts.

Alerts are messages that can be given a date range, when a user enters a case if there are any alerts for that case the user will be informed and can view the alerts.

Garden furniture

It has been hot recently. So to sit outside and enjoy a cup of tea I decided to buy some garden furniture …

I actually bought 4 chairs and a table from B&Q costing a total of £85.

Cleaned car show photo

Hand cleaned my new car this month …

Updates to Toolkit

I have updated my personal business management system I call Toolkit.

I have built a new set of reports on the project level and a new set of reports on the client level.

The reports show a break of time and earnings over various periods of time.

PHPStorm

I have continued using PHPStorm and I am liking it the more I use it which is strange for me as I use to prefer the smaller text editors with less functionality than a full blown IDE.

However some of the features really come in handy such as the ability to automatically generate “use” statements, generation of code comments, code completion, code structure viewer and error reporting.

That just about sums up what I have been doing the last couple of weeks.

July 2018

Client work

I have recently been working on a new module for a medical web software system.

The new module serves the purpose of collecting information for a medical support helpline.

Essentially people can ring the medical helpline and the support staff at the other end of the phone can use the system to enter various details.

Details about the caller, medical patient, details about the illness and about the call can all be stored within the system.

So far I have been implementing a massive form which has loads of input fields as well as a case notes section.

The module has been built on the Yii 2 framework which is what the rest of the system is built in.

The Yii 2 framework is a framework built using the PHP programming language.

The form has an associated grid which lists all the current cases or records. The grid is searchable and sortable.

The database for the module was created using the Yii 2 migrations and SQL.

Migrations are a library within the framework which allow you to write code to generate the database.

Migrations can be rolled forwards and backwards so allow a way of versioning the database.

The case notes section includes an Ajax form along with a good looking styled list view.

At its most basic Ajax is a way of communicating with the server from the browser in the background using Javascript.

Which means from a user standpoint the page does not need to reload when adding new case notes.

PHPStorm IDE

For this project I have actually been using a new program called PHPStorm …

https://www.jetbrains.com/phpstorm

I needed to use this as part of the project as PHPStorm was part of the clients requirements as the client also uses PHPStorm.

PHPStorm has a lot more features than the text editor program I was using before because PHPStorm is an IDE and not a text editor.

IDE mean Integrated Development Environment.

PHPStorm takes some getting use to as one would expect but by the looks of things PHPStorm will be worth it the more I learn about it.

I like the way PHPStorm provides information about areas of the code such as class / function definitions.

I also like the way PHPStorm provides the class structure of the project.

There is a lot more to PHPStorm than this though.

The text editor I was using before was called TextMate …

https://macromates.com

I really like TextMate and I will most likely still use TextMate for some of my personal projects.

Although TextMate has a lot less features the feel of it is more slicker and less clunky than PHPStorm.

Also as one would expect due to its smaller feature set.

Toolkit new report feature

I have added a new report to my custom built business management system named Toolkit.

I built the system a while ago to collect information on various areas of my business.

I have added a new report to the system which shows me how many hours I have spent on a particular project and the cost of the project so far.

The cost is calculated by multiplying the number of hours by the project rate or rates.

I already had many reports in this Toolkit system but this has been needed for a while now.

It makes it easier when I can just click on a project and see how many hours I have spent on the project and how much money the project has been billed for so far.

So that concludes the work I have been doing recently.