1 => Choosing A Project

This Series

This series is intended to outline my development of an application and what I have learned about Laravel in the process. At the beginning of the project I have little to zero experience using the Laravel PHP framework, and so the project described in this entry will hopefully provide me ample opportunities to learn about how the framework works while implementing best practices.

The Project

First I have to decide on a project idea. This is often one of the most challenging parts of any learning journey. The project has to be built using Laravel, a modern and open source php web framework.

Opening Laravel for the first time felt a bit overwhelming as the amount of boilerplate code was significantly more than I initially expected. The other main backend technology I've been learning at the moment is Apollo Server, which has zero boilerplate code when you start your project.

Potential Project Ideas

Before proceeding I have laid out some of the potential ideas I had for projects, however only one can be selected.

  • Something COVID-19 related. SARS-COV2 is a popular subject topic right now.
  • A todo list with added functionality
  • Blogging platform
  • Chatroom
  • Game of life with saved seeds that people can view and play with
  • KANBAN application

Decision

The application I intend to build is a KANBAN board application. I frequently find myself using KANBAN boards for structuring my workflow for university work and it will not only provide me space to test my backend learning but it will likely require a significant amount of JavaScript code to operate the frontend. This topic will also require the use of AJAX meaning I can learn how to set up REST APIs that don't depend on forms, allowing me to build an application that updates in real time.

If you are reading this and don't know what a KANBAN board is then I recommend this resource from Atlassian that provides an excellent explanation.

Concluding Remarks

Before continuing I have to do some design work so I can have a structured approach. Each feature will be implemented as I learn as it forces me to problem solve, as opposed to following a tutorial example from start to finish. This approach forces me to understand and learn what I am doing as I go as opposed to blindly following an example without being required to develop a sound understanding. The first topic I will look into is how to render views, components and templates. You can read more about the work and application developed by reading through the following blog entries.

Comments

Popular posts from this blog

8 => Gates & Authorization Policies

4 => Views - Templates, Components & Pagination

5 => User Accounts & Authentication