Total Web Development Course
4.7 (16 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
1,159 students enrolled

Total Web Development Course

Become a full-stack web developer, create a "Facebook-like" discussion platform and publish it on the Internet!
4.7 (16 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
1,159 students enrolled
Created by Jan Zavrel
Last updated 12/2018
English
English
Current price: $11.99 Original price: $199.99 Discount: 94% off
4 days left at this price!
30-Day Money-Back Guarantee
This course includes
  • 13 hours on-demand video
  • 154 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Assignments
  • Certificate of Completion
Training 5 or more people?

Get your team access to Udemy's top 3,000+ courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Frontend web technologies (HTML, CSS, Javascript)
  • Backend web technologies (MySQL, PHP)

  • Development environments (Docker, Vagrant & XAMPP)

  • How to use Git & GitHub
  • How to work with Terminal and Command Prompt
  • How to use regular expressions
  • How to create your own "Facebook-like" discussion platform and publish it on the server
  • You will become a full-stack web developer with your own final project in your portfolio
Course content
Expand all 158 lectures 12:48:07
+ Introduction
2 lectures 06:29

This is the introductory welcome video where I will tell you what we are about to create in this course. I will show you a short demonstration of Talker, the discussion platform you are about to create from scratch.

First, make sure to read I. README FIRST.pdf and I. README SECOND.pdf files before moving on. I tried to formulate there what's behind this course and I want to make sure that we are on the same page.

Next, make sure to download the attached CODE EXAMPLES.zip file. Save and unpack it to the location of your choice, for example on Desktop. In the unpacked folder, you will find examples that I will refer to during the course, so I want you to have them ready right from the beginning.

Preview 03:39

In this lecture, I will introduce you to three main Frontend technologies, HTML, CSS and Javascript.

Frontend introduction
02:50
+ Frontend: HTML
10 lectures 45:30

In this lecture, I will explain what the shortcut HTML stands for, what are the tags and what is the opening part and the closing part of the tag.

HTML introduction
03:46

In this lecture, I will talk briefly about the evolution of HTML. Then, I will show you some great resources you should know about.

Web standards
04:54

In this short lecture, we will take a look at what are the parts of HTML tag and how to use quotes properly.

Preview 02:18

In this lecture, you will create your first HTML document and I will explain the basic structure you must follow to have your document standard - compliant.

Basic structure of HTML document
02:00

In this lecture, I will show you the basic features of HTML:

  • Nested tags

  • Indentation

  • Charset

  • Body

  • Interpretation of HTML code

  • Comments

Don't forget to download the CODE EXAMPLES.zip file which is attached to the Course introduction lecture as we will need it from now on.

Basic features of HTML
04:48

In this lecture, we will take a look at the difference between the so called block-level and inline elements. I will also show you how to access Chrome Developer Tools which we will use a lot in this course.

Content model
07:19

In this lecture, we will take a look at some basic HTML elements.

I won't cover all HTML elements, not even all aspects of the selected elements. Only as much, as you need to move on in this course. If you want to dive deeper, there are many excellent online resources available like www.w3schools.com.

In the first part, we will explore Headings and Semantic tags.

Basic HTML elements Part 1
04:36

In this lecture, we will continue with HTML elements and I will show you how to use Lists and Character entities.

Basic HTML elements Part 2
04:45

In this lecure, we will take a look the structure of the link and I will explain the difference between internal and external links and give you some tips about how to use them properly.

Basic HTML elements Part 3
05:18

In this lecture, we will briefly look at Images, Tables and Forms. At the end of this lecture, you'll have a chance to test your knowledge by completing the HTML code with proper tags.

Basic HTML elements Part 4
05:46

Let's see what you know about HTML!

HTML
8 questions
+ Frontend: CSS
32 lectures 02:14:56

In this lecture, why the look and feel of the website is important and how CSS helps web developers to make their pages shine.

Preview 01:39

In this lecture, I will explain the basic structure of CSS rule and describe the individual parts.

Anatomy of CSS rule
02:25

In this lecture, I will explain the difference between external, internal and inline stylesheets.

Stylesheets
03:35

In this lecture, I will explain what is the user agent stylesheet and how to identify it with Chrome Developer Tools.

User agent stylesheet
02:17

In this lecture, we will take a look at:

  • element selector

  • class selector

  • ID selector

  • how to group selectors

Selectors Part 1
03:49

In this lecture, we will take a look at different combinators and you will have a chance to test your knowledge by modifying the code in prepared examples.

Selectors Part 2
05:12

In this lecture, we will take a look at so called pseudo-classes for the link element which allow us to style the links differently based on their current state.

Selectors Part 3
06:00

In this lecture, we will take a look at pseudo-classes for element children.

Selectors Part 4
02:30

In this lecture, we will take a look at pseudo-elements, :before and :after.

Selectors Part 5
02:45

In this lecture, you will learn how to use shortened CSS markup for some properties.

Property value inferring
03:32

In this lecture, I will explain the difference between margins and paddings of the HTML element and how they behave when the elements are placed next to each other.

Margin & Padding
04:10

Since you have learned a lot so far, it's time to put your knowledge to some real use :) In this lecture, I will show you how to easily transform a regular bulleted list into a nice-looking menu.

Styling a list as a menu
04:37

In this lecture, I will explain how CSS resolves conflicts when different styles for the same HTML element contradict each other.

CSS conflicts Part 1
05:38

In this lecture, I will explain how Inheritance and Specificity work. Also, I will tell you why it's unwise to overuse the !important parameter.

Preview 04:50

In this lecture, we will focus on text. I will explain the difference between serif and sans-serif fonts and show you how to use Google Fonts and Font Awesome.

Styling text Part 1
05:39

In this lecture, I will show you how to use more specific colors with hexadecimal values.

Styling text Part 2
01:52

In this lecture, you will learn about Font style and Font weight.

Styling text Part 3
02:07

In this lecture, I will explain the different font size units and when to use them.

Styling text Part 4
03:28

In this lecture, I will show you how to use the em unit for sizing the text. We will also look at text transformation and alignment.

Styling text Part 5
05:57

In this lecture, I will show you how to change the behavior of the browser regarding the sizing of HTML element.

Preview 04:28

In this lecture, we will take a look at element floating. This lecture is pretty intense, so don't feel intimidated if you need to watch it more than once, it's absolutely OK! Make sure you understand this concept before moving on.

Preview 05:34

In this lecture, we will continue with element floating and we will focus on the clear property. Again, take your time, there's no need to rush.

Layout Part 2
05:07

In this final and probably also the most difficult lecture of the Layout series, we will take a look at element positioning. This lecture is pretty long, but I believe it's better to digest this content uninterrupted. Again, feel free to watch it more than once until you're sure you understand the concept properly.

Layout Part 3
08:21

In this lecture, we will explore media queries and I will explain the role they play in a responsive design.

Media queries Part 1
02:42

In this lecture, we will further explore media queries and we will create together three of them to target three different screen sizes.

Preview 07:59

In this lecture, I will explain why a responsive design is crucial for any modern website and web application.

Responsive design Part 1
04:40

In this lecture, I will demonstrate how a 12-column responsive grid works.

Responsive design Part 2
06:09

In this lecture, I will explain what is a minification and why you should use it.

Minification
02:20

In this very short lecture, I explain how preprocessors extend CSS by adding variables and nesting. Even though we won't use preprocessors in this course, it's propably good to know about their existence.

Preprocessors
01:28

In this lecture, I will show you how to install Bootstrap 3. Even though Bootstrap 4 is already out of beta for some time, the version 3 is quite sufficient for our purposes here.

However, we will use the latest version 4 in our final project so there's no need to worry :-)

Bootstrap Part 1
03:57

In this lecture, we will quickly explore the Bootstrap grid system.

Bootstrap Part 2
01:53

In this final lecture of the Bootstrap series, I will demonstrate how the Bootstrap grid system works.

Bootstrap Part 3
08:16

Let's see what you know about CSS!

CSS
5 questions
+ Frontend: Javascript
17 lectures 01:14:30

In this lecture, I will explain what is Javascript and why it's important to have it in your toolbox.

Javascript introduction
01:57

In this lecture, we will dive right in without any further small talk :) I will show you four examples of Javascript code and I will ask you to modify the code so it behaves differently. You can do this!

Preview 06:44

In this very short lecture, I will explain what are even handlers and show you the most popular of them.

Event handlers
01:12

In this lecture, I will explain the difference between DOM (document object model) and BOM (browser object model). You will also learn how to work with Javascript console.

DOM & BOM
05:28

In this lecture, I will explain three option for placing Javascript code in HTML document and why it matters.

Where to place the code?
03:37

In this introductory lecture, we will prepare the scene for the upcoming lectures about Javascript language.

Javascript basics
01:26

In this lecture, I will explain what is a variable and how to use it.

Variables
02:48

In this lecture, I will explain what is the function. You will also learn about its structure and usage.

Functions
05:18

In this lecture, I will explain what is a type, what are the built-in types in Javascript and how to use them.

Types
07:39

In this lecture, we will take a look at Javascript conditions:

  • if

  • else

  • else - if

  • switch

Conditions
06:02

In this lecture, I will demonstrate the difference between regular and strict equality.

Equality
03:02

In this lecture, we will take a look at three logical operators:

  • AND (&&)

  • OR (||)

  • NOT (!)

Logical operators
01:37

In this lecture, I will explain the structure and the behavior of three loops:

  • for loop

  • while loop

  • do/while loop

Loops
05:22

In this lecture, I will explain how arrays work in Javascript and I will show you two methods for looping through array values.

Preview 07:46

In this lecture, I will explain what is an object and what is the difference between an object and an array. I will also show you how to create new object in Javascript and assign it some values.

Objects Part 1
05:28

In this lecture, I will show you two more ways to create objects in Javascript. If your head is spinning after watching this lecture, don't worry.

You absolutely don't need to understand this in order to successfully continue with this course.

I just wanted to share this with you so in case you hear about constructors, prototypes and literals, you'll be at least aware of such words :)

Objects Part 2
08:34

You have just completed the Frontend part of this course! Great job! Take a break and come back when you are ready for some even more exciting stuff!

Frontend conclusion
00:30

Let's see what you know about Javascript!

Javascript
4 questions
+ Backend: Introduction & Setup
13 lectures 50:43

In this short introductory lecture, I will briefly describe the interplay between the frontend and the backend.

Backend introduction
01:47

In this lecture, I will explain how we will approach this course regarding the local development environment.

I don't want to break some setup you already might have ready for other courses. That's why I suggest that you isolate the setup for this course with Docker.

If Docker is not an option, typically because you have unsupported operating system, you can choose:

  • Vagrant, which will isolate your development environment as well, but with some performance impact

  • a regular LAMP stack which might potentially break some of your existing projects which depends on different versions of server-side technologies



In case you have no idea what I am talking about, you're probably good to go with LAMP, but if you work on some other projects or follow some other course about web development, be cautious and if you can, choose Docker or Vagrant instead of LAMP.

In the following lectures, I will show you step by step how to install and run all three technologies, so you can follow me and start with Docker.

If you're able to install and run Docker, you can safely skip Vagrant and XAMPP installations and ignore these later in the course.

If you can't run Docker, try Vagrant instead, and later ignore everything regarding Docker or XAMPP.

Finally, if not even Vagrant can be installed on your machine, XAMPP is your last chance (or a different computer :-)). In such case, you will ignore everything regarding Docker and Vagrant later in the course because these won't apply in your case.


READ THIS BEFORE SKIPPING LECTURES:

Before you start skipping lectures, make sure you do two things I discuss in the Docker Part 2 lecture:

  • Create the Talker directory and make sure its location is /Users/yourname/Talker on Mac and C:\Users\yourname\Talker on Win. This will be the primary directory for our project.

  • Download and install Microsoft Visual Studio Code from https://code.visualstudio.com and navigate to Talker directory so you're on the same page as Docker users.


I'M HERE TO HELP!

It's my responsibility as a teacher that you will successfully complete this course. If you feel that you are somehow lost, don't hesitate and contact me! Together, we will find out where you are and what is missing and I will help you get back on track. Trust me, I won't leave you in the dark!

Backend setup
06:07

In this lecture I will explain how to approach Docker installation. If you want to learn more about Docker, you can take my free course here on Udemy or read the article attached below.

In any case, choose the lecture for your operating system below and follow the instructions.

Docker Part 1: Pick your platform
03:26

In this short lecture, I will show you how to install Docker on Mac computer.

Docker Part 1: Installation on Mac
01:19

In this short lecture, I will show you how to install Docker on Windows PC.

Docker Part 1: Installation on Windows
01:13

In this lecture, we will cover a lot of different stuff:

  • I will show you Terminal on Mac and Command Prompt on Win

  • We will create a new project directory for our final web application called Talker

  • We will switch from Atom editor to Microsoft Visual Studio Code

Docker Part 2
06:02

In this lecture, I will show you how to spin up your first Docker container with Apache web server.

Docker Part 3: Apache container
04:09

In this lecture, we will remove the Apache container and install the PHP container with Apache included. You will see why this is a better solution and you will have a chance to learn some new Docker commands.

Docker Part 4: PHP container
05:48

In this lecture, we will install and run the MySQL container.

Docker Part 5: MySQL container
02:01

In this lecture, I will show you step by step how to install and run Vagrant on your computer.


IMPORTANT!

If you skipped all Docker lectures because you weren't able to install Docker, make sure you do two things I discuss in the Docker Part 2 lecture:

  • Create the Talker directory and make sure its location is /Users/yourname/Talker on Mac and C:\Users\yourname\Talker on Win. This will be the primary directory for our project.

  • Download and install Microsoft Visual Studio Code from https://code.visualstudio.com and navigate to Talker directory so you're on the same page as Docker users.

Vagrant
07:12

In this lecture, I will show you step by step how to install and run XAMPP on your computer.


IMPORTANT!

If you skipped all Docker lectures because you weren't able to install Docker, make sure you do two things I discuss in the Docker Part 2 lecture:

  • Create the Talker directory and make sure its location is /Users/yourname/Talker on Mac and C:\Users\yourname\Talker on Win. This will be the primary directory for our project.

  • Download and install Microsoft Visual Studio Code from https://code.visualstudio.com and navigate to Talker directory so you're on the same page as Docker users.

XAMPP
05:29

In this lecture, I will explain how HTTP protocol works and we will take a look at two HTTP methods, GET and POST. These methods will play a crucial role in our final project.

HTTP
04:29

In this short lecture, I will explain the difference between server as an application, operating system and bare-bone hardware.

Web server
01:41
+ Backend: Database
8 lectures 32:51

In this lecture, we will take a look at different database models and the database structure or relational database.

Database introduction
03:50

In this lecture, I will show you how to connect to MySQL in Docker so you can work with the databases via CLI.

Preview 02:41

In this lecture, I will show you how to connect to MySQL in Vagrant so you can work with the databases via CLI.

MySQL CLI & Vagrant
01:27

In this lecture, I will show you how to connect to MySQL in XAMPP so you can work with the databases via CLI.

MySQL CLI & XAMPP
02:01

In this lecture, I will show you how databases are managed, how to create and remove database.

SQL Part 1
04:59

In this lecture, I will show you how to create a new table, add the primary key and turn on the auto incrementation.

SQL Part 2
05:05

In this lecture, I will show you how to add records to our movies table and how to retrieve and sort specific records based on different criteria.

SQL Part 3
05:11

In this final lecture of the SQL series, I will show you how to update records and how to use some aggregate functions to further specify the selection of data.

SQL Part 4
07:37

Let's see what you know about SQL!

SQL
6 questions
+ Backend: PHP
9 lectures 40:36

In this lecture, I will briefly describe PHP language, its history and purpose.

PHP introduction
03:05

In this lecture, I will explain the structure of the PHP code block and the echo command. Also, I will show you how to start your development environment in case you have restarted or turned off the computer in the meantime.

PHP basics
03:03

In this lecture, I will show you how to use PHP variables and how a string evaluation works.

Variables
01:40

In this lecture, I will briefly introduce PHP data types. You will soon realize that they are quite similar to Javascript data types in both syntax and semantic (meaning).

Data types
06:14

Even though there are some minor differences, PHP syntax for conditionals and functions is practically the same as Javascript syntax. In this lecture, I will point out the differences you should know about.

Conditionals & Functions
04:14

In this lecture, I will explain the implementation of objects in PHP, since it's very different from Javascript implementation. In this sense, PHP is a real object-oriented programming language, unlike Javascript.

Objects Part 1
06:11

In this lecture, we will further explore objects. I will show you how to define a constructor, what are the magic methods and how inheritance works.

Again, you don't actually need to understand objects to successfully finish this course. Just remember that something like this exists and that's enough :)

Objects Part 2
06:07

In this lecture, I will explain how exceptions work in PHP and why it's a good idea to use them. We will use exceptions later in the final project.

Exceptions
02:54

In this lecture, I will show you how to further set up your local development environment so PHP can communicate with MySQL database.

PHP & Database
07:08

Let's see what you know about PHP!

PHP
4 questions
+ Backend: Git
5 lectures 29:28

In this lecture, I will introduce you to Git, I will tell you briefly about its history and show you how to install Git in case you don't have it already on your machine. We will also take a look at how Git works.

Preview 07:25

In this lecture, I will show you how to initialize a new repository, commit and revert changes.

Git Part 2
07:22

In this lecture, I will tell you about the remote repository storage on GitHub and we will talk about security.

GitHub Part 1
04:41

In this lecture, we will change the structure of our project directory to reflect security requirements.

GitHub Part 2
05:36

In this final lecture of GitHub series, I will show you how to set up GitHub and we will take a look at a typical workflow of using Git and GitHub with web development.

I will also talk about three options you have when using Git:

  • command line

  • Visual Code

  • GitHub Desktop

GitHub Part 3
04:24
+ Backend: phpMyAdmin
2 lectures 04:23
phpMyAdmin
03:36

Great job! You have accomplished a lot so far! But the most exciting part of this course is still ahead of us! Let's get to it and start building our final project.

Backend conclusion
00:47
+ Talker: Basic structure & core features
27 lectures 02:43:37

In this lecture, we will prepare the Bootstrap starter template and commit the changes to Git repository.

Starter template
02:20

In this short lecture, I will show you the to-do list of features we are about to implement in the welcome page.

Welcome page
01:48

In this lecture, we will create the users table in our database where we will store the records of the users of our web application. Next, we will create the sign-up form.

Sign-up form
08:30

In this lecture, I will explain why we will perform client-side and server-side validation of the sign-up form and what are the differences regarding security.

Preview 02:26

In this lecture, I will show you how to construct a regular expression pattern for email address. You can check my article on this topic if you want. You'll find the link in External Resources.

Regular expressions Part 1
07:47

In this lecture, I will show you how to construct a regular expression pattern for password.

Preview 02:56

In this lecture, I will show you how to implement the client-side validation of the sign-up form using our regex pattern.

Client-side validation
05:15

In this lecture, I will show you how to send the data from the sign-up form to the server. We will compare two methods, GET and POST.

Server-side validation Part 1
07:26

In this lecture, we will further explore the server-side validation process and add regex patterns.

Server-side validation Part 2
07:18

In this lecture, I will explain what are sessions and how they can help with a stateless character of HTTP protocol. Also, we will start building the system-wide controller for feedback messages.

Sessions Part 1
08:54

In this lecture, we will complete the server-side validation of the sign-up form with the help of sessions.

Sessions Part 2
04:29

In this lecture, you will learn how to actually store the data from the sign-up form to the database.

Creating user record
05:30

In this lecture, we will compare the records already stored in the users table with the data sent by the form to avoid duplicity.

You'll find the snippets of new code attached to this lecture. The goal of this course is to make you a web developer, which means to understand the code and its purpose, not to bore you to death by typing :)

Avoiding duplicity
04:24

In this lecture I will show you how to secure the data stored in the database and you will learn the difference between hashing and encrypting.

Securing the data
04:40

Buckle up! In this lecture, we will do a lot of work!

First, we will learn how to use PHPMailer to send emails, next, we will cope with Gmail 2-step-verification and finally, we will learn how to backup our database.

Email verification Part 1
10:03

In this lecture, I will show you how to branch the code and we will modify our users table by adding a new column.

Email verification Part 2
05:17

In this final lecture of the Email verification series, I will show you how to generate the verification link, we will complete the verification logic and finally, we will merge the code to the master branch.

Email verification Part 3
10:04

In this lecture, we will use Bootstrap to create a server-side form validation.

Bootstrap form validation Part 1
09:49

In this lecture, we will use Bootstrap to create a client-side form validation.

Bootstrap form validation Part 2
08:09

In this lecture, we will extend the form validation to the password confirmation and the email fields.

Bootstrap form validation Part 3
07:11

In this lecture, we will add the sign-in form to the index.php file.

Sign-in form Part 1
04:48

In this lecture, we will implement the client-side validation for the sign-in form.

Sign-in form Part 2
03:58

In this lecture, we will implement the server-side validation for the sign-in form.

Sign-in form Part 3
05:24

In this lecture, we will add the Gate which will work as an entrance point to the system. It will also add the navigation bar with the Logout feature.

Gate
04:58

In this lecture, I will explain the concept of cookies and how we will implement them.

Cookies Part 1
06:19

In this lecture, we will implement the cookies.

Cookies Part 2
06:33

In this lecture, we will make sure that the user can request a new activation email in case he delete the original one.

Account activation
07:21
Requirements
  • No experience is required, you can be a total beginner!
  • Windows PC or Mac computer is required.
  • No paid software is required, everything you will need to complete this course is available for free.
Description

Anyone can code

Anyone can become a web developer. You don’t need any special talent, just a motivation.

In this course, you will learn all you need to know to build your own web application. Together we will build a discussion platform with private messaging and groups.

Along the way, you will learn a lot:

  • frontend and backend web technologies,

  • how to use different development environments,

  • how to use regular expressions,

  • how to use Git & GitHub,

  • how to deploy your project to a virtual private server and much more.


We will start with the basics and once you have the necessary knowledge, I will take you to an amazing journey where we will build together a real web application.

You will learn:

  • how to create the sign-up and sign-in forms,

  • how to send a verification email,

  • how to create rules for secure password,

  • how to send a message to another user,

  • how to create a group and change its name

  • how to send a post to the group

  • how to edit and delete posts and groups


We will create three modules in our web application:

  • Settings module for changing nickname and password

  • Messaging module for sending private messages between users,

  • Groups module for creating discussion groups similar to what you know from Facebook and other bulletin boards.


Finally, I will show you how to deploy your final project to the Internet so you can show it to your potential clients or employers.

By the end of this course, you will be a complete full-stack web developer ready to kick-start your career.


Quality over quantity

Every good editor knows that he should cut at least 80% of the content because only 20% is actually relevant and meaningful.

I applied the similar rule with this course. I cut or shortened everything that I considered irrelevant and useless.

I value your time and I didn't want to bore you with hours of obvious, useless or irrelevant information.

That's why only 12 hours of the 60 hour-long material made it to the final version of this course.

This course is those 20% which delivers truly meaningful content.

I gladly left the rest 48 hours behind because they didn't add more value, they would only make this course unreasonably bloated.


Technologies

Over 158 lectures you will understand and be able to use these technologies:

  • HTML

  • CSS

  • Javascript

  • Responsive design

  • Bootstrap

  • Regular expressions

  • Docker

  • Vagrant

  • XAMPP

  • PHP

  • MySQL

  • phpMyAdmin

  • Git & GitHub

  • Terminal

  • Digital Ocean


Talker, a discussion platform, a mobile-ready web application, your final project

I love building stuff. That's why I have decided to give you the opportunity to apply everything you will learn about web technologies and build something real from scratch, something useful and functional, something you can be proud of, something you can show off and brag about.

Talker will be your own web application, a part of your web development portfolio which you can proudly present to your potential clients or employers.


It doesn't end with the purchase, it's just the beginning

I'm ready to make you a web developer and I'm fully prepared to help you along the way! It's my mission and nothing can stop me.

Don't hesitate to reach out if you have any problems. I will do my best to help you and guide you through this course until you reach the end with the complete web application running on your own server.

I expect you to further improve and extend your final project, add new features or modify what we will build together. You will learn from me and then I will learn from you!

I can't wait to see where you will be able to push your web application.

Let me know! I value your feedback!



Who this course is for:
  • Anyone who wants to become a full-stack web developer
  • Anyone who wants to complete the course with something in hands
  • Anyone who wants to generate income as a freelance web developer
  • Anyone who wants to build websites and web applications
  • Anyone who wants to apply for a job and needs his own project to present
  • Anyone who wants to start their own web development business and become financially independent