Loading bar stuck at the very end after entering login credentials
I have fixed the issue.  It manifested after the installation of a driver with an unsigned .kext file.  In this instance, it was from this driver (Roland DJ-202 DRIVER VER.1.0.3). 

At the time I didn't think this was causing the issue because this driver was installed and ran fine on a friend's MacBook Pro running on Mojave. The difference was that his machine is running 10.14.3 and mine is running 10.14.6. It seems that this driver does not work on macOS Mojave 10.14.6.

I discovered the issue after reading through this. After moving all the .kext files to an unsupported folder (see below) I was able to boot successfully boot the machine in safe mode and normal mode.

mount -rw /
cd /Volumes/Macintosh\ HD/Library/Extensions/
mkdir Unsupported
mv *.kext Unsupported
reboot


After reading through this I was able to identify the .kext files that are properly signed by Apple. They are the following 

ACS6x.kext                CIJUSBLoad.kext
ATTOCelerityFC8.kext      CalDigitHDProDrv.kext
ATTOExpressSASHBA2.kext   HighPointIOP.kext
ATTOExpressSASRAID2.kext  HighPointRR.kext
ArcMSR.kext               PromiseSTEX.kext
BJUSBLoad.kext            SoftRAID.kext


I then identified the culprit file from the driver - RDUSB0205Dev.kext.
I moved all the other .kext files back into the /Volumes/Macintosh\ HD/Library/Extensions/ folder.

The machine now boots fine, and everything is back to normal.