GO TO A HIGHER LEVEL OF WEB DEVELOPMENT !!!
During the course, you will create a web application for booking vacation homes in the Laravel framework and PHP 7, and additionally a hybrid version of this application as a mobile application for smartphones. This is not the same as the responsive website. The application will be responsive, but in addition there will be a second version as a separate application for a mobile phone that runs like a regular application from the phone application list and not from a web browser.
IMPORTANT NOTE: Course for more advanced users! Absolutely not for beginners! Not everything will be clearly visible and understood at once. You may need to do some work yourself: print_r or dd(), use chrome console, comment out something, uncomment, etc. This course is a challenge. Or if you want, you can quickly go through all lectures, copy files and get working applications as soon as possible. There are files for the lessons, in most cases I don't write code on the screen, I am discussing it. More complicated code I write on the screen but simple and repeated (e.g. echoing data in views) I don't write in videos. For more information take a look at first video of this course and see in the section below called "How do the course look like?".
This is not a typical course discussing next chapters of the documentation. You will create a real life web application using the very popular Laravel framework. During the course most of the topics from Laravel's documentation will be used. The course touches many areas of full-stack web development, not only backend but also css, html, jQuery, JavaScript and others. The course was created on the Laravel 5.6 version, but the project files were updated to Laravel 5.8. See upgrade guide section to upgrade to the next versions of Laravel (including Laravel 6).
Why is the application so advanced and the course takes less than 10 hours? Because no unnecessary talks, no scratching head. I almost never write anything on the screen. I am discussing the code from the lesson files available for download (70 lectures). Only meat, no fat, no bones, etc. If you want you can cut out or comment code from the files and write it yourself. Then you will learn the most out of it. I'm going straight to the goal, from empty folder to working applications. No unnecessary things, only two apps: web and mobile from the beginning to the end.
This is a very advanced application for an online course on the Internet - 14 tables in the database bound with all types of database relationships available in Laravel.
THE ONLY THING TO MAKE YOU A GOOD WEB DEVELOPER AND SO MORE ATTRACTIVE FOR THE EMPLOYER - IS THAT YOU NEED TO MAKE ADVANCED APPLICATIONS, LIKE FOR EXAMPLE IN THIS COURSE.
In the course I used technologies that are popular and proven in the world of web development.
*** TECHNICAL ASPECTS USED WITHIN THE COURSE ***
Laravel topics used in the application:
installation
configuration necessary for work
service container, service provider & binding implementation of interfaces to the object container
the life cycle of the http request in Laravel
facades
injecting objects (dependency injection)
events & listeners
caching in Redis
routes
middlewares
Laravel Policies - on permission based user actions in the system
generating url's
anti csrf protection
controllers, models, views
Resource Controllers
GET, POST, PUT, DELETE requests, responses
http redirections
Artisan console commands
views and the Blade template system
Laravel Mix
view composers
multilanguage feature in web applications
validation of forms
helpers (e.g. route function)
sessions
cookies
file uploads
authentication (login)
authorization (accessing a resource based on permissions)
user registration to the system
resetting a forgotten password
pagination of results from the database
database lazy & eager loading
database migration
database seeders
operations on the database: fluent query builder & eloquent orm, accessors
relationships in the database: one to one, one to many, many to many, one to many through dependent model (hasManyThrough), polymorphic one to many, polymorphic many to many
Also:
jQuery
jQuery Mobile
object oriented Java Script
Gateway Pattern
Repository Pattern
Presenter Pattern
Singleton Pattern
interfaces
traits
PHP 7 directives
Twitter Bootstrap modified by Bootswatch
Apache Cordova for hybrid app
JWT authentication and authorization (Json Web Token)
*** ABOUT LARAVEL ***
There is a reason that Laravel leads in Google Trends compared to other popular PHP frameworks - thanks to it complex applications are created quickly, thanks to many facilities and automation of frequent tasks, e.g. Laravel login mechanism we generate with one command of the built-in console! We use very easily relationships in a database, including more complex polymorphic relations.
Laravel is probably the easiest to master PHP framework. The syntax is simple and intuitive. Applications in Laravel are easy to later scale horizontally thanks to good code organization and built-in integrations, e.g. with Amazon S3. Do you want to use Redis for the session instead of the standard session mechanism in the files on the server? In Laravel it is several lines in the configuration file. Web development with Laravel is simple and pleasant.
*** HOW DO THE COURSE LOOK LIKE? ***
Almost all lessons are accompanied by source files, ready to be copied to the project. On the slides I show the activities that should be done in a given lesson. This is, for example, copying files or commands run in the console. Next, with the editor opened, I discuss the files to change in the lesson. The course was created in a way that I first wrote this application and then divided it into 70 lessons, to which the source files are attached. In most videos, I do not write anything on the screen. I only do this for more complicated code to better explain the issue. There is no point writing very simple or common instructions on the screen that are repeatedly done in each application.
In the course, I create step-by-step a web application in Laravel and a mobile version, according to the top-down approach. We start from the application template, the skeletons of individual methods, and I finally lead to ready and working applications. The course is more back-end than the frontend. The html template will be available for download.
I did the same course earlier for Polish students in a different version. The Polish course lasted more than 20 hours and this course lasts much less hours. Why such a difference? Well, I changed the form of this course. In this course, unlike the first version - there are files for the lessons. And what follows, I don't write everything on the screen. I decided that it makes no sense to repeat the instructions on the screen which are often repeated many times in applications, for example, displaying data in views or simple foreach loops. But that does not mean that I will not show you how to debug the application. There is a separate lesson where I discuss tips on how to debug. However, on the screen I write the most difficult code and discuss it in detail. And although this course has been shortened, it contains the same amount of material, and even in some places, some issues are better explained.
The entire course is based on free software, most often open-source.
*** WHAT FAMOUS PEOPLE SAY ABOUT PROGRAMMING AND LEARNING? ***
Steve Jobs said that everyone should learn to program because it teaches how to think. So in order to learn how to program and so better think, you need to create applications - program them. The more the better. The more complex applications the better. Only theory from documentation is not enough. You have to create something yourself. Programming is problem solving. You will not be a good web developer if you stop only on theory. No course will make you a good web developer (except for simple pages with the tab "about us" and with a simple html form). You will be a good web developer only if you are able to build complex applications by yourself, such as in this course.
And another great man - Benjamin Franklin said: "Tell me and I forget, teach me and I may remember, involve me and I learn". It is difficult to get involved someone in an online course without direct contact with the student. But take to heart what that great man said. And be aware that you must actively participate in the learning process. In other words - write yourself with your head and not just copy and paste without analysis. Web development is not a massage - it will not do it itself, nobody will do it for us.
*** HOW TO USE THE COURSE TO GET THE MOST BENEFITS AND LEARN THE MOST? ***
The code from the lecture files that cause problems is best to write yourself than to copy from a file. However, in order to speed up the process to reach to the end of the course, you don't have to write code that you already know well, such as simple foreach loops or printing data with the Laravel Blade engine, which is repeated many times in the code. If you want to see the effects of the application on your computer as fast as possible, simply view and paste the files from the lesson to your editor. But if you want to understand everything and learn the most - you can cut out or comment the code from the lesson and write it yourself.
After each lesson, review everything exactly what has been done and try to understand it as much as you can:
Compare the effects on the screen or use debugging, for example, the dd() function or Chrome dev tool, to show on the screen to better understand how a given piece of code works.
You can compare the code with the Laravel documentation, e.g. when validating forms, you can look in the documentation about other rules for validating forms than those currently displayed on the screen.
Or when creating a migration, see what other types of columns in the database are described in the documentation and try to save a different one and see the effects after running a command in the console.
If you think that something can be done differently, don't hesitate to do it and write it differently than it is on the screen. In other words, be active during the course. Then you will get the most out of it than if you only listen passively and copy the code from lesson files or from the screen without analyzing it. If you haven't understood something, ask me a question or search the internet. Laravel has a large community and there are lots of material about it on the web.
Play with the code pasted from the source, comment out, uncomment, dump something, etc. Thanks to this you will understand better what is happening.
Remember that only practice makes perfect. If necessary, study the course two or more times. Take notes during the course like a real student. Use documentations, Google search. Finally, try to write the application yourself, not necessarily the same as in the course, you can try to change, add something, etc. No single course will make you a very good web developer. It can only bring you closer to this goal. The more practice, the better.
QA:
Why do you use jquery mobile?
The mobile application is not the main subject of the course, it is the last few lectures of the course. The course focuses mainly on Laravel and design patterns. By building a mobile application I show in the course what can be done with Laravel. These are some general concepts that can later be applied to other mobile frameworks. However jquery hasn't disappeared from the industry, many companies still require it for maintaining existing websites or even building new ones.
You used Laravel 5 in this course for creating an app. Now we have Laravel 7 already. Does it mean that this course is outdated and I will not benefit from it?
Absolutely not! In tools like PHP frameworks the fundamentals and base syntax almost never change regardless of the version. But of course any maintained software evolves all the time. That's why I always suggest you to use the version of software that instructor uses in the course. It prevents from errors and confusions. As a someone who wants to learn web development you should be aware, that real web development involves also adapting the code to newer versions if necessary - but this is not always necessary, not every company do that. Software changes so often that the instructors would not be able to create the courses so that they match the latest version. This is not even advisable, because as a student you would loose an important aspect of real web development - the awareness that everything is changing and you need to be able to deal with it.
Important note:
I am not a native speaker of English, so you can check before enrollment
whether my English is good for you and you can always speed up
the video in the player options.
Have a fruitful study!