anouar1991 / Magento2Developer

A learning path to become a Magento 2 Developer

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Magento Certified

My Way To being a Magento Developper

In this repo I will list my progress in learning and preparing for being a Magento Certified Developper. I used the book Magento 2 Developers Guide as the main studying material. but I will not be limited to that. Magento Developers Guide

Day 1:

Understanding the Platform Architecture

  • The Technology Stack
  • The archtectural layers
  • the top-level filesystem structure

Managing the Environment [Skipped]

Programming Concepts and Conventions

  • Composer
  • Service contracts
  • code generation
  • the var directory
  • Coding standards

Models and Collections

  • Creating a miniature module
  • Understanding the flow of schema and data scripts
  • Creating an install schema script (InstallSchema.php)
  • Creating an upgrade schema script (UpgradeSchema.php)
  • Creating an install data script (InstallData.php)
  • Creating an upgrade data script (UpgradeData.php)
  • Entity CRUD actions
  • Creating new entities
  • Managing collections

Using the Dependency Injection

  • The object manager
  • Dependency injection
  • Configuring class preferences
  • Using virtual types

Plugins

  • Creating a plugin
  • Using the before listener
  • Using the after listener
  • Using the around listener
  • The plugin sort order

Backend Development

  • Cron jobs
  • Notification messages
  • Session and cookies
  • Logging
  • The profiler
  • Events and observers
  • Cache(s)
  • Widgets
  • Custom variables
  • i18n
  • Indexer(s)

Frontend Development

  • Rendering flow
  • View elements
    • Ui components
    • Containers
    • Blocks
    • Block architecture and life cycle
    • Templates
    • Layouts
  • Themes
    • Creating a new theme
  • Javascript
    • Creating a custom JS component
  • CSS

The Web API

  • User Types
  • Authentication methods
  • REST versus SOAP
  • Hands-on with token-based authentication
  • Hands-on with OAuth-based authentication
  • OAuth-based Web API calls
  • Hands-on with session-based authentication
  • Creating custon Web APIs
    • API call examples
      • The getById service method call examples
      • The getList service method call examples
      • The save (as new) service method call examples
      • The save (as update) service method call examples
      • The deleteById service method call examples
    • Search Criteria Interface for list filtering

The Major Functional Areas

  • CMS management
    • Managing blocks manually
    • Managing blocks via code
    • Managing blocks via API
    • Managing pages manually
    • Managing pages via code
    • Managing pages via API
  • Catalog management
    • Managing categories manually
    • Managing categories via code
    • Managing categories via API
    • Managing products manually
    • Managing products via code
    • Managing products via API
  • Customer management
    • Managing customers manually
    • Managing customers via code
    • Managing customers via API
    • Managing customer address code
    • Managing customer address via API
  • Products and customers import
  • The custom product types
  • Custom offline shipping methods
  • Custom offline payment methods

Testing

  • Types of tests
  • Unit testing
  • Integration testing
  • Static testing
  • Integrity testing
  • Legacy testing
  • Performance testing
  • Functional testing
  • Writing a simple unit test

Building a Module from Scratch

  • Module requirements
  • Registering a module
  • Creating a configuration file (config.xml)
  • Creating e-mail templates (email_templates.xml)
  • Creating a system configuration file (system.xml)
  • Creating access control lists (acl.xml)
  • Creating an installation script (InstallSchema.php)
  • Managing entity persistence (model, resource, collection)
  • Building a frontend interface
    • Creating routes, controllers, and layout handles
    • Creating blocks and templates
    • Handling form submissions
  • Building a backend interface
    • Linking the access control list and menu
    • Creating routes, controllers, and layout handles
    • Utilizing the grid widget
    • Creating a grid column renderer
    • Creating grid column options
    • Creating controller actions
    • Creating unit tests

About

A learning path to become a Magento 2 Developer

License:Apache License 2.0