Today I finished off the dashboard. The biggest obstacle was allowing the user to upload a profile picture which is then cropped.

In order to achieve this I used a plugin called Croppie which was quite poorly documented. When I saved the image after cropping, I could see in the debugger that it was being created but not passed into the User table in my database. In order to problem solve, I created a new database table with fields 'user' and 'image', which I printed out as shown in the screenshot below. From here I was able to figure out that a DB record was created when I first hit save, without the image. When I clicked save again, a record was created with both the username and the image. I figured out that instead of having 1 workflow which saves the image and then adds it to the user's DB, I would need to have 2 separate workflows - the first, which saves the croppie image, and the second, which passes the saved croppie image into the user's database.

Unfortunately I was too busy debugging to take screenshots, but the process mainly involved creating a zillion different popups and moving things around until the flow resembled that of twitter and facebook which I referenced throughout the process: