Published on 20th June, 2022
Sometimes you get the itch to build more than just a website - the skills you gain from this help in your web building by being able to add more complex functionality to websites, or by branching out into building full scale applications.
I decided to use Laravel and Vue to build this application, as they are both technologies I was keen to learn more about, by building on my PHP and JavaScript knowledge - I also knew I'd need to incorporate some kind of database. Laravel works really nicely with MySQL out the box, and i felt no need to change that for a simple project.
I have had a few false starts before with building applications, so Laravel was already installed globally on my computer. So I opened my code editor (VSCode) and opened a new terminal, creating a new directory using the mkdir command, and installing Laravel in there using the Laravel new command. Below is the file structure of the app when installed.
This proved to be particularly difficult when it really shouldn't have been... Using MySQL on a chromebook isn't ideal anyway, but is essentially just using it in a linux container, so no excuses. But i did lose my password from the previous time I'd done this, and found it a real struggle to change it. Once I had managed to do this after a couple of hours of trial and error, the initial migration wouldn't authenticate. My username, password and database name were all correct.
After a couple more hours of searching I came across a snippet at the bottom of a stackoverflow Q & A that stated using localhost instead of the IP address in the .env file would fix the problem. It did, but it caused another problem with authentication which I still haven't fixed....
What a pain! To get round this problem, I set up a remote database on a server I host my websites with, which took around an hour of research into remote access, and we're now up and running with all the framework required to start my project.
I was going to put a lot more in the first episode of this series, but my pain debugging and the time it took has not allowed me to get as far as I wanted. However, I thought I'd list out the app requirements here to see where we go next:
As part of getting carried away, with so much data on clients, I did think this could be extended into a Client Management System and Lead Management Tool too - but that's for another time!
I hope you enjoyed reading this, and stay tuned for further updates in the not to distant future!