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
- 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.
- JQuery Validation Plugin: Form validation plugin. Validating form inputs before making any server request is a good practice.
- JQuery File Upload: It’s the most popular plugin for file upload.
- Vue.js Paginator: Vue.js is compatible with laravel. This package is useful for client side rendering with pagination support.
- Tag-it: A plugin for tagging system.
- PDF.js: This plugin is for pdf reading if the browser doesn’t support pdf.
- Mustache.js: It’s a template engine.
- TinyMCE: Js rich text editor.
- Placeholder text plugin for TinyMCE: It’s a plugin for tinymce to show placeholder in textarea.
- Cropper: A Jquery image cropping plugin.
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.
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.