My Full Stack Dev Journey
I'm currently participating in the Full-Stack Track coding bootcamp with iO Academy. I will be documenting below my experience on the bootcamp and my learnings along the way!
Lasted Updated: 1 October 2024
Week 4 - HTTP Verbs, PDO & OOP
This was a bit of a mammoth week. We started with HTTP Verbs - GET, POST, PUT & DELETE, and how these map to the CRUD operations. We were introduced to PHP Superglobals which allow us to access GET & POST data. Next was connecting to a database in PHP using PDO, and preparing SQL queries. We discovered the importance of preparing SQL queries and using placeholders to prevent SQL injections.
Week 3 - LAMP, Docker, PHP, SQL & BlackJack
This week we started to learn backend programming using PHP & SQL. We learnt PHP basics and basic programming concepts, such as variables, data types, operators, conditionals, loops and functions. We put all of this into practice by creating a game of BlackJack using only HTML, CSS & PHP. Towards the end of the week we started working with databases and learning SQL. This included select statements, joins, inserts, deletion - all of the CRUD operations.
Week 2 - Command Line, Git, GitHub & Project #1
Day 1 consisted of learning about the Command Line, Git & GitHub. We learned some basic commands on the command line such as creating, reading, updating and deleting files and folders; changing directories and returning to home directory. We then starting learning about the inner workings of Git, how to initialise a Git repo locally in an existing project, checking git status, adding files to staging before commiting changes. We touched on GitHub, creating repos, cloning them locally and pushing our commits and changes to the GitHub repo.
The rest of the week was working on our first project - a portfolio website. Yes, the very website you're looking at right now! This was a good opportunity to put into practice my new structured appoach for writing HTML and CSS, alongside everything else we've learned up until now. The task was to design and build a portfolio website containing at least About me, Portfolio and Contact sections. I think it's been pretty successful and I'm really happy with the outcome. You can read more about my goals, challenges and thought processes for project 1 here.
After finishing our portfolio websites, we took part in our first sprint review - presenting our websites to the rest of the class, and answering any questions anyone had in relation to this.
Key takeaways:
- New structured approach to writing HTML & CSS works.
- Use Git for every project going forward. Commit often, but only when something is done or complete.
- Spend time planning projects before writing any code - wireframing, designing, thinking.
- Sprint reviews - this is something that can't be replicated at home on your own, and it teaches you the skill of talking about your code and thinking through your processes, challenges and decisions made.
Week 1 - HTML, CSS, and How the Web Works
We began by learning the basics of HTML & CSS. This included things like important HTML tags and attributes, CSS selectors, properties, selector specificity, flexbox and grid. We also learned a bit about how browsers work, their rendering engines and last but not least, the DOM!
Each morning we have a daily stand up to test our knowledge of what we learned the previous day, and then after this we each have an opportunity to talk about what we enjoyed, what we didn't like and anything we want to recap.
The main takeaway from this week for me was discovering a structured approach to writing HTML & CSS code to build websites. My previous experience writing HTML & CSS was a bit haphazard, hopping back and forth between HTML file and CSS file, implementing too many divs, unnecessary CSS selectors and properties.
My new approach now consists of:
- Wireframing - Drawing a wireframe to help visualise and establish the structure of the website, and which HTML elements and CSS styles are going to be used.
- HTML first - For this step, I will write only HTML to help nail down the structure of the page.
- CSS next - Once happy that the HTML structure is in place, I will then focus on CSS and styling. If something isn't working as expected then I can go back and tweak the HTML if necessary, but it shouldn't change too dramatically.
- Think responsive - Check at this stage how responsive your website is. How does it look on tablet? Or mobile? Make sure it works on all devices.
- Build with accessibility in mind - As developers, we want everyone to be able to enjoy our products. Don't forget your alt tags, labels etc.
- Get the most important things done first - It can be tempting to get distracted by things like animations and hover effects. I like to think about what the purpose of the web page is, and focus on the things that are inline with this vision. Once that's done, then have fun with CSS animations!
- Have fun! - There will undoubtedly be frustrations along the way. Things won't work as you expect them to. These are opportunities to understand what you currently don't know, and what you need to learn. Enjoy the process!