navigation

Welcome

Welcome to Dev Handbook!

In this handbook, you will find handy references on specific fields:

This handbook is maintained by Ha Truong.

You can support my work and buy me a coffee.

Follow me on Github.


Web Development Guide

Basic tools

  • Computer: macOS, Linux, Windows
  • Text Editor: VSCode
  • Web Browser: Chrome, Firefox
  • Terminal: Bash
  • Design: Canva, Photoshop, Sketch
  • Git & GitHub
  • Chrome Dev Tools
  • Package manager: NPM or Yarn

Frontend Web development

1. HTML, CSS

  • HTML5
  • CSS Fundamentals
  • CSS Grid & Flexbox
  • CSS Transition
  • Sass (variables, nesting, conditionals)
  • CSS Frameworks (Bootstrap, Tailwind)

2. Responsive Design

  • Viewpoint
  • Media queries
  • Responsive mobile first

3. Vanilla JavaScript

  • Fundamentals
  • Modern JS (ES6)
  • DOM (Document Object Model)
  • JSON
  • Fetch API

4. Web Deployment

You should learn how to deploy a website to a web server.

  • Domain registration (Namecheap)
  • Static hosting (Netlify, Github Pages)
  • Managed hosting
  • SSL Certificate
  • FTP (File Transfer Protocol)
  • SSH

5. Front-end Framework

You should choose to learn one of these front-end frameworks.

6. Static site generators

Static site generators offer better SEO, file system rooting, data fetching, plugins, and GraphQl.

Some popular static site generators are:

  • Gatsby (React)
  • Hugo (Go)
  • Gridsome (Vue)

Backend Web Development

1. Server-side language

You need to learn a server-side language to become a full-stack or backend web developer. Pick one of the following:

  • PHP
  • Python
  • Node.js
  • Golang

2. Server-side framework

  • PHP: Laravel
  • Python: Django, Flask
  • Node.js: Express

3. Database

I recommend learning SQL and one of the following databases

  • Regional database: MySQL, PostgreSQL
  • NoSQL: MongoDB
  • Cloud database: AWS, Firebase
  • Lightweight: SQLlite

4. Content Management System (CMS)

CMS is great for adding content to the web application.

  • Traditional CMS: WordPress, Drupal
  • Headless CMS: Contentful

5. Deployment

  • SSH
  • Web server environment: NGINX, Apache
  • App hosting: Heroku, Linode, AWS
  • Testing
  • Security

Learning resources

These sites are great for learning web development.