Last week I continued work on my mysterious side-project. To be more exact I'm involved in step 1 that I mentioned in last week's post:
- do upfront frameworking by doing some object-oriented design: defining the objects, capturing user stories, etc.
Luckily I have much of the course I took on object-oriented analysis and design outlined. I am continuing to take notes on it and designing my own project at the same time. Once I feel like I'm at a comfortable place, I'll begin thinking about my design in terms of the database and code.
The process is slower than you may think because this is the first time I've taken the time to do the heavy lifting up front in regards to design. Rather than just jumping into the process, I'm taking my time in learning the right methods and then implementing. This will be a constant back and forth as I continue my work. Learn then implement.
I expect to learn rather quickly because of the fact I'm using and testing my knowledge immediately. Then I'll be watching courses all about TDD once I begin writing my code. There are so many valuable skills that I'll be learning, practicing, or improving as I work on this project. Between the design and TDD, the new learning I'll be doing will be insane.
On top of that I'm practicing my OOP skills working within Laravel (and sharpening my Laravel skills). It'll involve writing clean APIs and RESTful routes including authentication and authorization middleware. In the front-end I'd like to continue using Vue and getting better with it. I want to really focus on the structure of the project itself in terms of the front-end. The file structure tends to get a little messy as things grow, so I'd like to do more learning about how to keep that neat.
Then of course, I'll be using Tailwindcss. I plan to do a lot more customization in terms of the colors so that I have a palette that uses my own design. I'll have mock ups in XD before I get those styles into my tailwind config.
Once I get up and running on the project itself, I think I'll have a more engineering style series of posts that focuses on the details of the problems and solutions as I go. I'd like to get code in here, screen captures documenting things, and anything else I think could be helpful to myself or anyone else who is interested in learning the process of building a project from the ground up.
If you're following me as a dev, get excited because great things are coming.
See you next week!