Curriculum
1 Laravel Introduction and Architecture
Learning Objective:
Get introduced to Laravel and its architecture.
-
Intro to Laravel
-
Container
-
Facades
-
Flexibility
-
Robustness
2 Get started with Laravel
Learning Objective:
Learn to install and set up Laravel and Homestead.
-
Setting up Homestead
-
Setting up composer and PHP on your local machine for faster Workflows
-
Using .env for your local build
-
Using sequel pro and connecting to local and remote databases
-
Setting up your first application in Homestead
-
Setting up Gulp and Elixir
Hands-on:
-
Set up Homestead, composer, PHP, Gulp, Elixir.
3 Composer Packages
Learning Objective:
Learn about some of the day-to-day workflows of setting up Laravel to use composer and many of the packages for use in our PHP applications.
-
Working with the composer install command and avoiding the Composer update
-
Downloading and installing Guzzle using Composer
-
Making a provider
-
Using the Facade pattern
-
Using private packages
Hands-on:
-
Work with composer, download and install Guzzle using Composer
4 Routing
Learning Objective:
Learn to test your routes, API based routes, and name them.
-
Building an API / JSON based route for searching
-
Testing your route in PHPUnit
-
Building a view based route
-
Testing your view based route in PHPUnit
-
Creating named routes
Hands-on:
-
Build API based route for searching and test the routes.
5 Building Views and Adding Style
Learning Objective:
Walk through setting up Blade files, installing a theme, making an authentication page, and more.
-
Organizing your Blade files
-
Installing a WrapBootStrap theme
-
Making your authentication pages
-
Implementing an error message template
-
Building your main search page
-
Adding static pages
Hands-on:
-
Install themes and build your main search page.
6 Working with Data
Learning Objective:
Learn about the common workflows and other tips and tricks around Laravel and data or state, which include files.
-
Setting up users and running migrations
-
Altering a migration
-
Using factories for migrations and tests
-
Using a generator to scaffold your user wishlist area
-
Seeding so you can see how your app looks
-
Adding a file upload to user profile
-
Validating file upload
-
Saving files to S3
Hands-on:
-
Set up users and alter migration. Also, save files to S3
7 Authentication, Security, and Subscriptions
Learning Objective:
Learn about the day-to-day workflows that are needed to protect your site, manage subscriptions, and administer users.
-
Using policies and guard to protect user pages
-
Adding feature flags to hide features from users
-
Implementing Socialite to allow users to login with Facebook
-
Adding custom middleware to protect the user admin area
-
Using Laravel to set up a subscription site
-
Creating an interface for the user to manage subscriptions
-
Creating an admin interface for subscriptions
Hands-on:
-
Create an interface for the user to manage subscriptions. Also, create an admin interface for subscriptions.
8 Testing and Debugging Your Application
Learning Objective:
Learn the concepts of what to test, how to get started, mocking, and more.
-
Generating test
-
Using tests to think through your code TDT (Test Driven Thinking)
-
Using VCR for API testing
-
Getting your code onto GitHub
-
Using Travis to run tests with every push
-
Launching Gulp watch into your workflow
-
Using Mockery to test your controllers
-
Troubleshooting your application
Hands-on:
-
Test, debug and troubleshoot application in order to deploy.
9 Adding Advanced Features
Learning Objective:
Learn about Artisan commands and how to use them. Also, learn about setting up notification e-mails so that we can notify users when new comics come in and more.
-
Building an Artisan command
-
Creating scheduler to notify users of new comics
-
Setting up e-mail notices
-
Adding clean URLs for the users profile page
-
Using pusher for live notifications
-
Adding a blog area to update users on new features
Hands-on:
-
Set up notification emails to notify users.
10 Deployment
Learning Objective:
Go over some key steps to getting your application to deploy.
-
Setting up Forge, AWS, and CodeDeploy
-
Setting up Travis to auto deploy when all is passing
-
Working with your .env file
-
Testing your application on production with Behat
-
Making a composer package out of our client
Hands-on:
-
Set up environment for deployment.