Abdullah Ayman 24th May 2017

First job as a fresher was a bit complex for me. I got involved in a running project. The anxiety goes in various ways when someone starts from the middle of anything. But, it’s actually a better way to learn than starting from the scratch.

My first project was built in laravel. First of all I had to understand the project requirements. A lot of work is already done and I didn’t understand most of it. In my undergraduate projects I have used only logical operations with simple database query. Now, in professional project I had to use complex query with maximum security.

The things were introduced to me with laravel:

  • Boilerplate: We don’t need to spend times for building login system and user account management when someone has done this for us. This boilerplate includes some packages like socialite, gravatar, log-viewer, laravel-breadcrumbs, laravelcollective etc.

  • Doctrine DBAL
    : Just adding this package in every project will save us lot of time from handling database error. It has lot of database related features.
  • Laravel Excel: We need to work with excel files and it’s perfect for excel and CSV download.
  • Laravel Taggable Trait: This package is very helpful for tagging system implementation.
  • SimplePie: It’s used for feed parser.
  • Laravel Decomposer: It’s used for showing the packages installed in the project. Mainly for admin or other people to know the ingredients of the project
  • Transform PHP Vars to JavaScript: Sometimes we need to send data or string from controller to js file. There are many ways to do it, but this package is most flexible and user friendly. For a clean code it’s very useful.
  • elFinder: It’s a package for file management in server side.
  • Manage newsletters: This package provides an easy way to integrate MailChimp with Laravel.
  • HTML Meta Tags management: This package is used to manage header Meta tags from laravel controllers.

Before starting my professional life I thought PHP, HTML and CSS are enough to build any web app. But, without javascript no web app is complete. So, I had to learn javascript. Though I am not comfortable with js, I had to implement some libraries and plugins. Some useful js packages are:

For a complete project we have used bootstrap, icons, bootstrap material design. For project compiling gulp, Laravel Elixir were used. We have used trello and bitbucket for project management.

I think these things are minimum requirements to build a laravel web app. We don’t need to know lot of SEO for an app. But, adding meta tags while writing codes will make things easier. I had to write clean codes for everyone, using comments in every section of the code. It’s necessary for future if we want to reuse the code. Actually, web developers don’t write same code twice. We just copy from previous codes and modify it when necessary. So, writing comments will help us to reduce a lot of time from thinking about the past.

Writing complex sql queries than lot of simple queries will help to reduce load in server. We should use less database calls. Besides joining multiple tables, GROUP_CONCAT() function and CASE statement are extremely capable to fetch any data as per our requirements.

Anyone who wants to become a professional web developer, don’t stick upon a single technology. HTML, CSS, Javascript/jquery, PHP all of them are needed to become a web developer. Well, that’s not the last but the least. For advance level, one or two js framework will add a good advantage. I have learned vue.js as it’s affiliated with laravel. But, js is a very cunning scripting language. It’s changing its nature every day. New framework replacing old one in every year. Well, we have to cope up with the pace if we want to move forward.

Why Web development?
I think software development is like freedom. I can build anything I want. Lot of people use web app. Even with the evolution of mobile app, web app still has its vast users.
Web application has better mobility and easier learning curve. Though its learning materials are wider than other sectors. So, I choose web development to reach more people and share my ideas.

I am still learning new technologies. I hope to contribute a lot and trying to make things easier for others.