Professional Documents
Culture Documents
ON
“The Complete 2020 Web Development Bootcamp”
Instructor: Dr. Angela Yu
Course on: Udemy
By
ADITYA ARYA
(Registration Number: 201800208)
5th/B
In partial fulfillment of requirements for the award of degree in
Bachelor of Technology in Computer Science and Engineering
(2020)
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
SIKKIM MANIPAL INSTITUTE OF TECHNOLOGY
(A constituent college of Sikkim Manipal University)
MAJITAR, RANGPO, EAST SIKKIM – 737136
LIST OF CONTENT
1. Introduction to Front-End 4
2. HTML 4
3. CSS 6
4. Bootstrap 8
5. Javascript (ES6) 8
6. The DOM 10
7. jQuery 11
8. Introduction to Back-End 12
9. Node.js & Express.js 12
10. Application Programming Interfaces (APIs) 13
11. Databases 13
12. SQL 13
13. MongoDB & Mongoose 14
14. Authentication & Security 15
15. Summary 16
INTRODUCTION TO FRONT-END
A web application, or any application for that matter, consists of two parts: Front-end and
Back-end. The front-end is the user interface with which the user interacts and hence it is
an essential part of a website to attract users and to conduct marketing.
HTML
• HTML stands for Hyper Text Markup Language
• It is the fundamental structure of a website
• It is written by using tags that contain data, and have attributes
• "Hypertext" refers to links that connect web pages to one another, either within a single
website or between websites.
• It will be required for any web application, and is a vital part of front-end development.
1. Heading Tags
Any document starts with a heading. You can use different sizes for your headings.
HTML also has six levels of headings, which use the elements <h1>, <h2>, <h3>, <h4>,
<h5>, and <h6>. While displaying any heading, browser adds one line before and one
line after that heading.
2. Paragraph Tag
HTML paragraphs are defined with the <p> tag.
3. Line break Tag
Whenever you use the <br /> element, anything following it starts from the next line.
This tag is an example of an empty element, where you do not need opening and closing
tags, as there is nothing to go in between them.
4. HTML Formatting Elements
HTML also defines special elements for defining text with a special meaning.
HTML uses elements like <b> and <i> for formatting output, like bold or italic text.
Formatting elements were designed to display special types of text:
• <b> - Bold text
· <ol> − An ordered list. This will use different schemes of numbers to list your items.
· <dl> − A definition list. This arranges your items in the same way as they are arranged
in a dictionary.
9. HTML Table
An HTML table is defined with the <table> tag.
Each table row is defined with the <tr> tag. A table header is defined with the <th> tag.
By default, table headings are bold and centered. A table data/cell is defined with the
<td> tag.
10. HTML Forms
HTML Forms are required, when you want to collect some data from the site visitor. For
example, during user registration you would like to collect information such as name,
email address, credit card, etc.
CSS
• CSS stands for Cascading Style Sheets
• CSS describes how HTML elements are to be displayed on screen, paper, or in
other media
• CSS saves a lot of work. It can control the layout of multiple web pages all at
once
• Three types: Inline, Internal, External
• External stylesheets are stored in CSS files
The CSS file (when using external CSS, which is the standard way), the file is then linked
to the html page by using a HTML link tag.
Syntax
h1 {
background-color: red;
border: 1px solid blue;
}
In this example, h1 is the tag selector and the data inside the curly braces depicts how h1
tags will be styled
background-color is the property used to depict the background color of the element. The
value assigned is red, and hence all h1 tags will have a red background, unless
overriden by an internal or inline style.
p:hover, a:hover {
background-color: yellow;
}
This will apply the yellow color to both the tags a and p when a mouse hovers over it.
● Coloring
● Size
● Position
● Visibility
● Many more: (e.g. p: { text-decoration: line-through; })
● Also used in animation
Total element width = width + left padding + right padding + left border + right border +
left margin + right margin
Bootstrap is a front-end framework meant to ease styling for developers. To use, the user
needs to link the bootstrap CDN in the html file and then attach classes to different
elements, as shown in the documentation, and the classes apply styles to those elements.
It makes styling especially for a large application much easier and is widely used.
Javascript ES6
• Fixed values
• Variable values
• number for numbers of any kind: integer or floating-point, integers are limited by
±253.
• bigint is for integer numbers of arbitrary length.
• string for strings. A string may have zero or more characters, there’s no separate
single-character type.
• boolean for true/false.
• null for unknown values – a standalone type that has a single value null.
• undefined for unassigned values – a standalone type that has a single
value undefined.
• object for more complex data structures.
• symbol for unique identifiers.
Comparisons
Loops
If we don’t want to do anything in the current iteration and would like to forward to the
next one, we can use the continue directive.
break/continue support labels before the loop. A label is the only way for break/
continue to escape a nested loop to go to an outer one.
Functions
A function declaration looks like this:
The DOM
DOM nodes have properties and methods that allow us to travel between them, modify
them, move around the page, and more.
By far the most used are querySelector and querySelectorAll, but getElementBy* can be
helpful or found in the old scripts.
jQuery
jQuery is a fast, small, and feature-rich JavaScript library. It makes things like HTML
document traversal and manipulation, event handling, animation, and Ajax much simpler
with an easy-to-use API that works across a multitude of browsers.
Get the <button> element with the class 'continue' and change its HTML to 'Next Step...'
Introduction to Back-End
The backend is the hidden part of a website that handles all user input and deals with all
the requests, it’s where the website reaches out to servers and communicates with APIs.
Node.js
});
server.listen(5000);
Express.js
Express.js is a web application framework for Node.js. It provides various features that
make web application development fast and easy which otherwise takes more time using
only Node.js. It can easily be installed, like many other packages, using npm (Node
Package Manager).
Advantages of Express.js:
1. Makes Node.js web application development fast and easy.
2. Easy to configure and customize.
3. Allows you to define routes of your application based on HTTP methods and URLs.
4. Includes various middleware modules which you can use to perform additional tasks
on request and response.
5. Easy to integrate with different template engines like Jade, Vash, EJS etc.
6. Allows you to define an error handling middleware.
7. Easy to serve static files and resources of your application.
8. Allows you to create REST API server.
9. Easy to connect with databases such as MongoDB, Redis, MySQL
APIs let your product or service communicate with other products and services without
having to know how they’re implemented. This can simplify app development, saving
time and money. When you’re designing new tools and products—or managing existing
ones—APIs give you flexibility; simplify design, administration, and use; and provide
opportunities for innovation. The google maps API is a common example and can be seen
in many apps such as Swiggy and AirBnB.
Databases
A database record is collection of fields about the same person, item, or object in a
database. SQL databases are those databases with a predefined strict schema. A schema is
what determines the data that will be stored and the relations between different tables,
etc.
This course mainly covered mongoDB as the main database, using mongo locally as well
as mongo Atlas when the app was deployed.
MongoDB
MongoDB SQL
Mongoose
Mongoose is an Object Data Modeling (ODM) library for MongoDB and Node.js. It
manages relationships between data, provides schema validation, and is used to translate
between objects in code and the representation of those objects in MongoDB.
mongoose.connect('mongodb://localhost:27017/my_database');
Third party apps like google, Facebook and twitter can be used to login on the website
and only the user token is stored in the database. It also means that password encryption
techniques don’t need to be bothered with.
Summary:
To become a software engineer, the concepts of software development are vital and
necessary. Full-stack web development is a fundamental for software development for
web apps and I’m glad I took this course.
1. HTML
2. CSS
3. Javascript
4. Node.js
5. DBMS
6. Authentication
7. App deployment
Future Scope
The next ideal step is to choose a framework such as React, which I started a course on
after I completed this. This would allow me to create front-ends in a much more
proficient and efficient manner, and with the knowledge I’ve gained of Node.js and
MongoDB, I plan to get an internship as a MERN stack engineer and work up from there.
Advanced Web Technologies is the elective I selected which I’m certain will also prove
useful in the future, with specific regard to PHP.