SlideShare a Scribd company logo
My journey from PHP to
Node.js
Valentin Lup
@LupValentin valentinlup
My journey from PHP to Node.js
My journey from PHP to Node.js
Moving to Node.js
Language
Templating
Session
Authentication
PHP → JS
PHP Templating → EJS
PHP Sessions → express-session
PHP Auth → passportJS & passport-local
Moving to Node.js (contd.)
HTTP Server
Deploy
Headers Security
Apache → Node Server with Express &
Nginx
Git/FTP → Git/FTP + pm2
SecureHeaders → Helmet
Demo
http://46.101.226.107/
Thank you
More Code:
https://github.com/valentinlup/node-playground
Resources
https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions
https://www.nginx.com/resources/wiki/start/topics/tutorials/install/
https://yarnpkg.com/en/docs/install#linux-tab
http://pm2.keymetrics.io/
https://stackoverflow.com/questions/tagged/node.js
https://www.digitalocean.com/community/tutorials/how-to-set-up-automatic-deployment-with-git-with-a-vps
http://expressjs.com/en/starter/basic-routing.html
https://github.com/expressjs/session
https://github.com/passport/express-4.x-local-example

More Related Content

What's hot (20)

PDF
Helpful pre commit hooks for Python and Django
roskakori
 
PPTX
nginx + uwsgi emperor + bottle
Jordi Soucheiron
 
PDF
nginxをソースからインストールしてみたよ
mamoru tateoka
 
PPTX
Simple webapps with nginx, uwsgi emperor and bottle
Jordi Soucheiron
 
PPTX
uWSGI - Swiss army knife for your Python web apps
Tomislav Raseta
 
PDF
[MeetUp][2nd] 컭on턺
InfraEngineer
 
PDF
Npm: beyond 'npm i'
Pieter Herroelen
 
PDF
PHP Project development with Vagrant
Bahattin Çiniç
 
PDF
Nginx
Shaopeng He
 
PPTX
20151229 wnmp & phalcon micro app - part I
Taien Wang
 
PPT
Ferrara Linux Day 2011
Gianluca Padovani
 
PDF
(WS14) Sasa Matijasic - Node.js i "novi" web
Web::Strategija
 
PDF
FreeBSD preseed installation (PXE) AsiaBSDCon 2015
Kamil Czekirda
 
PDF
An Introduction of Node Package Manager (NPM)
iFour Technolab Pvt. Ltd.
 
PDF
Node.js and Ruby
Michael Bleigh
 
PDF
Speed up your development environment PHP + Nginx + Fedora + PG
Marcus Sá
 
PDF
The past, present and future of swift, Voxxed Belgrade 2016
Chris Ward
 
PPTX
WebSockets Everywhere: the Future Transport Protocol for Everything (Almost)
Ericom Software
 
ODP
about Debian "squeeze" @201002 OSC Tokyospring
Hideki Yamane
 
Helpful pre commit hooks for Python and Django
roskakori
 
nginx + uwsgi emperor + bottle
Jordi Soucheiron
 
nginxをソースからインストールしてみたよ
mamoru tateoka
 
Simple webapps with nginx, uwsgi emperor and bottle
Jordi Soucheiron
 
uWSGI - Swiss army knife for your Python web apps
Tomislav Raseta
 
[MeetUp][2nd] 컭on턺
InfraEngineer
 
Npm: beyond 'npm i'
Pieter Herroelen
 
PHP Project development with Vagrant
Bahattin Çiniç
 
20151229 wnmp & phalcon micro app - part I
Taien Wang
 
Ferrara Linux Day 2011
Gianluca Padovani
 
(WS14) Sasa Matijasic - Node.js i "novi" web
Web::Strategija
 
FreeBSD preseed installation (PXE) AsiaBSDCon 2015
Kamil Czekirda
 
An Introduction of Node Package Manager (NPM)
iFour Technolab Pvt. Ltd.
 
Node.js and Ruby
Michael Bleigh
 
Speed up your development environment PHP + Nginx + Fedora + PG
Marcus Sá
 
The past, present and future of swift, Voxxed Belgrade 2016
Chris Ward
 
WebSockets Everywhere: the Future Transport Protocol for Everything (Almost)
Ericom Software
 
about Debian "squeeze" @201002 OSC Tokyospring
Hideki Yamane
 

Similar to My journey from PHP to Node.js (20)

PDF
Integrating Node.js with PHP
Lee Boynton
 
PDF
PHP vs Node.js
Squareboat
 
PDF
Shall we play a game?
IngridRivera36
 
PPTX
Shall we play a game
jackpot201
 
KEY
Matt Gauger - Lamp vs. the world - MKE PHP Users Group - December 14, 2010
Matt Gauger
 
PDF
Why and How You Should Move from PHP to Node.js
Brainhub
 
PPTX
Introduction to Node.js
Vikash Singh
 
ODP
Introduce about Nodejs - duyetdev.com
Van-Duyet Le
 
PDF
Server Side Event Driven Programming
Kamal Hussain
 
PDF
Nodejs For Php Developers Porting Php To Nodejs 1st Edition Daniel Howard
ingrimyayo
 
PDF
We shall play a game....
Sadia Textile
 
PPTX
Beginners Node.js
Khaled Mosharraf
 
PDF
Event driven programming -- Node.JS
Dimitri Teravanessian
 
PPTX
Shall we play a game?
Maciej Lasyk
 
PDF
Developing realtime apps with Drupal and NodeJS
drupalcampest
 
PDF
Hello world - intro to node js
Refresh Annapolis Valley
 
PDF
Node.js vs PHP, What should SMBs prefer for web development.pdf
Mindfire LLC
 
PDF
Bringing Interactivity to Your Drupal Site with Node.js Integration
Acquia
 
PDF
Node.Js Vs PHP: Which is Likely a Better Server Side Environment?
Believ-In Technologies
 
Integrating Node.js with PHP
Lee Boynton
 
PHP vs Node.js
Squareboat
 
Shall we play a game?
IngridRivera36
 
Shall we play a game
jackpot201
 
Matt Gauger - Lamp vs. the world - MKE PHP Users Group - December 14, 2010
Matt Gauger
 
Why and How You Should Move from PHP to Node.js
Brainhub
 
Introduction to Node.js
Vikash Singh
 
Introduce about Nodejs - duyetdev.com
Van-Duyet Le
 
Server Side Event Driven Programming
Kamal Hussain
 
Nodejs For Php Developers Porting Php To Nodejs 1st Edition Daniel Howard
ingrimyayo
 
We shall play a game....
Sadia Textile
 
Beginners Node.js
Khaled Mosharraf
 
Event driven programming -- Node.JS
Dimitri Teravanessian
 
Shall we play a game?
Maciej Lasyk
 
Developing realtime apps with Drupal and NodeJS
drupalcampest
 
Hello world - intro to node js
Refresh Annapolis Valley
 
Node.js vs PHP, What should SMBs prefer for web development.pdf
Mindfire LLC
 
Bringing Interactivity to Your Drupal Site with Node.js Integration
Acquia
 
Node.Js Vs PHP: Which is Likely a Better Server Side Environment?
Believ-In Technologies
 
Ad

Recently uploaded (20)

PPTX
Building a Production-Ready Barts Health Secure Data Environment Tooling, Acc...
Barts Health
 
PPTX
MSP360 Backup Scheduling and Retention Best Practices.pptx
MSP360
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PDF
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
PDF
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
PDF
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
PDF
Apache CloudStack 201: Let's Design & Build an IaaS Cloud
ShapeBlue
 
PDF
Wojciech Ciemski for Top Cyber News MAGAZINE. June 2025
Dr. Ludmila Morozova-Buss
 
PDF
Blockchain Transactions Explained For Everyone
CIFDAQ
 
PDF
Smart Air Quality Monitoring with Serrax AQM190 LITE
SERRAX TECHNOLOGIES LLP
 
PDF
Women in Automation Presents: Reinventing Yourself — Bold Career Pivots That ...
DianaGray10
 
PPTX
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
PDF
CloudStack GPU Integration - Rohit Yadav
ShapeBlue
 
PDF
Windsurf Meetup Ottawa 2025-07-12 - Planning Mode at Reliza.pdf
Pavel Shukhman
 
PDF
Meetup Kickoff & Welcome - Rohit Yadav, CSIUG Chairman
ShapeBlue
 
PDF
Français Patch Tuesday - Juillet
Ivanti
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PDF
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
PDF
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
PDF
NewMind AI Journal - Weekly Chronicles - July'25 Week II
NewMind AI
 
Building a Production-Ready Barts Health Secure Data Environment Tooling, Acc...
Barts Health
 
MSP360 Backup Scheduling and Retention Best Practices.pptx
MSP360
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
Apache CloudStack 201: Let's Design & Build an IaaS Cloud
ShapeBlue
 
Wojciech Ciemski for Top Cyber News MAGAZINE. June 2025
Dr. Ludmila Morozova-Buss
 
Blockchain Transactions Explained For Everyone
CIFDAQ
 
Smart Air Quality Monitoring with Serrax AQM190 LITE
SERRAX TECHNOLOGIES LLP
 
Women in Automation Presents: Reinventing Yourself — Bold Career Pivots That ...
DianaGray10
 
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
CloudStack GPU Integration - Rohit Yadav
ShapeBlue
 
Windsurf Meetup Ottawa 2025-07-12 - Planning Mode at Reliza.pdf
Pavel Shukhman
 
Meetup Kickoff & Welcome - Rohit Yadav, CSIUG Chairman
ShapeBlue
 
Français Patch Tuesday - Juillet
Ivanti
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
NewMind AI Journal - Weekly Chronicles - July'25 Week II
NewMind AI
 
Ad

My journey from PHP to Node.js

Editor's Notes

  • #2: JS mindset change from frontend to backend number of proc -1 what is helmet
  • #3: Cine sunt (3PG. JS developer). Cand nu lucrez si nu sunt la tim.js, I’m a dad
  • #4: Daca vii din PHP, getting started in JS Daca vii din frontend, getting started in node.js JS e asociat cu lumea UI in general, dar astazi as vrea sa pun la indoiala aceasta mentalitate
  • #5: Session: PHP session_start(), $_SESSION Passport: authentication middleware for Node.js
  • #6: Helmet: CSP(load only code from safe servers), noCache, X-Frame-Options PM2: Process manager with built in load balancer. Supports node process scaling
  • #7: Upgrading from express with ejs pages to modern UI stack you just need to replace web routes with your SPA. Hope you enjoyed listening to this as much as I enjoyed talking about it.