0
Presented By
Arijit De Software Engineer Speaker Blogger Technology Enthusiast A Table Tennis Athlete Website : www.codetheatres.com
/arijitde1
@TweetToArijit
arijit-insync
1
Why Magento? •
Developers friendly.
•
Scalable.
•
Multiple Store Management.
•
Secure.
•
Advanced SEO.
•
Extensions.
•
Community.
2
Development Platform •
Server Configuration.
•
Speeding Mechanism.
•
Version Control.
•
Environment Setup.
•
Magento Installation.
3
Server Configuration •
Choose desirable server.
•
Choose Operating System.
•
Apache/Nginx.
•
PHP.
•
MySQL.
•
Mail Server.
4
Speeding Mechanism-Server •
Setting up Caching system.
•
Varnish.
•
Configure.
•
MemCache for Session Storage.
5
Version Control - Why & Which? •
Collaboration.
•
Storing Versions.
•
Restoring Previous Versions.
•
GIT
•
Understanding What Happened.
•
BitBucket
•
Backup.
•
TFS
6
Environment Setup •
Dev Branch -> dev.example.com.
•
Stage Branch -> stage.example.com.
Stage
Dev
7
Magento Installation •
Create an account at magento.com
•
Generate Public & Private Key.
•
Create Database.
•
Installation- By Composer or By using Archive File.
•
Proper permissions.
•
Use proper backend routing.
•
Making separate front and backend url - Optional.
8
Post Installation •
Configure Varnish with Magento.
•
Turn on Cache if not enabled.
•
Setup cron for proper database backup.
•
Login to server and navigate to Magento installation directory.
•
Check the CLI command- Indexing, Caching, Mode Deploy and Compilation.
9
Speeding Mechanism-Magento •
Optimize Images.
•
Enabling Flat Catalog.
•
Optimize CSS & JS.
•
Proper CDN.
•
Setting off Code Generation.
•
Use Full Page Cache.
•
Set up proper cron jobs.
10
Magento is ready!
11
Requirement Stack •
Understanding Business Process.
•
Setting Scope of Work.
•
Choosing Work Methodology.
•
Proper Planning.
12
Development Phase •
Choose suitable theme.
•
Install the theme in both Dev & Stage branch.
•
Make sure you are working in development mode.
•
Development should be done in Dev branch.
•
Ready & tested items should only be deployed in Stage.
13
Deployment Modes •
Default.
•
Development.
•
Production.
14
Coding Standards • • • • • • • • •
Code demarcation standard PHP coding standard PHP code sniffers JavaScript coding standard jQuery widget coding standard DocBlock standard JavaScript DocBlock standard LESS coding standard HTML style guide
15
Module Structure •
Api
•
Plugin
•
Block
•
Observer
•
Controller
•
view
•
etc - module.xml
•
composer.json
•
Helper
•
registration.php
•
Model
16
Design Patterns •
Model View Controller(MVC).
•
Object Relational Mapping(ORM).
•
Dependency Injection(DI).
•
Object Manager.
•
Factory Patterns.
•
Proxy Patterns.
•
Interceptor Patterns.
17
Programming Best Practices •
Proper Naming Conventions.
•
Code Reusability.
•
Avoid Business Logic in Controller & Observer.
•
Observer should not be heavy.
•
Execute Business Logic in Models.
18
Programming Best Practices •
Try to go for Plugin for overriding.
•
Avoid PHP codes in PHTML files.
•
Write CSS & JS codes in separate CSS & JS files.
•
Make use of Repository Classes for CRUD executions.
19
Extension Quality Program(EQP) •
A way of testing your extension.
•
Powered by Magento.
•
Check logical and efficient coding structure.
•
Performance and scalability.
•
Compatibility with the Magento core.
20
Thank You! For Magento Integrations, visit: appseconnect.com
21