SlideShare a Scribd company logo
Developing a Web Application
Develop a basic web application to graph results from the database
and style it using HTML/CSS.
Rabab Gomaa & Abdel Rahman El Beheri
IEEE Young Professional Workshop
December 2nd, 2017
https://www.slideshare.net/RababGomaa/
Rabab Gomaa : @RubysDo Abdel Rahman Elbeheri : @abdz91
Content
Part 1: Creating a static web page in HTML/CSS by Rabab
● HTML
● CSS
● WET/Graph
Part2 : PHP - Making Web pages dynamic by Abdel Rahman
● Why PHP?
● PHP Operation Simplified
● PHP - Getting Started
● PHP - Sample code “Hello, World”
● PHP - Embedded with HTML
● PHP - Our application
@RubysDo “Creating a Static Web Page in HTML/CSS” https://www.slideshare.net/RababGomaa/
Part 1: Creating a page with graphs in HTML/CSS
Rabab Gomaa, Web Accessibility Expert
● Experience of web development / web design /web
integration.
● Works for the Federal Government
● Active in the web accessibility community
○ Presented in several conferences: The Accessibility Conference
of University of Guelph 2014 & 2016, 2017, CodeFest4 (2016),
a11yYOW 2014 and a11yQC 2016.
○ Co-organizer of Ottawa Digital Accessibility and Inclusive
Design http://meetup.com/a11yOttawa/
@RubysDo “Creating a Static Web Page in HTML/CSS” https://www.slideshare.net/RababGomaa/
Part 1: Creating a page with graphs in HTML/CSS
What we need to start
1. A Browser
2. An HTML editor
Dreamweaver CC (trial version)
http://www.adobe.com/ca/products/dreamweaver/free-trial-download.html
3. WET 4
http://wet-boew.github.io/wet-boew/docs/versions/dwnld-en.html
@RubysDo “Creating a Static Web Page in HTML/CSS” https://www.slideshare.net/RababGomaa/
HTML
What is HTML?
● Hyper Text Markup Language
● HTML describes the structure of a web page
● Browsers use HTML to render the content of a web page
● HTML does not have a logic (not a programming language)
@RubysDo “Creating a Static Web Page in HTML/CSS” https://www.slideshare.net/RababGomaa/
Learn More - HTML Crash Course For Absolute Beginners retrieved from https://www.youtube.com/watch?v=UB1O30fR-EE
HTML Syntax and Structure
HTML Syntax
● <tagname>Content goes here...</tagname>
Start tag Element content End tag
<h1> My First Heading </h1> Simple element
<table> table structure </table> element with structure
HTML Page Structure
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
</head>
<body>
<h1>Pool Results for 2017</h1>
</body>
</html>
@RubysDo “Creating a Static Web Page in HTML/CSS” https://www.slideshare.net/RababGomaa/
Exercise 1: Create your own HTML page
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Ottawa Voting Corner - IEEE Young
Professional</title>
</head>
<body>
<h1>Pool Results for 2017</h1>
<p>Although the competition between choices, Ottawa
citizens have made their mind on the best of this 2017
year!!</p>
<h2>Ottawa's official food in 2017</h2>
</body>
</html>
@RubysDo “Creating a Static Web Page in HTML/CSS” https://www.slideshare.net/RababGomaa/
Pool Results for 2017………………...
CSS
What is CSS?
● CSS describes how HTML elements should be displayed.
Inserting CSS in HTML
● External style sheet
<link rel="stylesheet" type="text/css" href="mystyle.css">
● Internal style sheet
<head>
<style>
h1 {color: blue;}
</style>
</head>
● Inline style
<h1 style="color: blue;">Pool Results for 2017</h1>
@RubysDo “Creating a Static Web Page in HTML/CSS” https://www.slideshare.net/RababGomaa/
Exercise 2: Write your own styles
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Ottawa Voting Corner - IEEE
Young Professional</title>
<style>
h1 {background-color: #9CF;}
</style>
</head>
<body>
<h1>Pool Results for 2017</h1>
</body>
</html>
@RubysDo “Creating a Static Web Page in HTML/CSS” https://www.slideshare.net/RababGomaa/
<title>
<h1>
<p>
<h2>
Use of WET to create graph
What is WET?
● Front-end framework for building websites
● A collection of flexible and themeable templates and reusable components
Charts Working Example
http://wet-boew.github.io/v4.0-ci/demos/index-en.html
@RubysDo “Creating a Static Web Page in HTML/CSS” https://www.slideshare.net/RababGomaa/
Exercise 3: Code results table and view chart
<h2>Ottawa's official food in 2017</h2>
<table class="wb-charts wb-charts-donut table">
<caption> What is Ottawa's official food?</caption>
<thead>
<tr>
<td></td>
<th>Shawarma</th>
<th>Beavertail</th>
<th>Sushi</th>
<th>Burger</th>
</tr>
</thead>
<tbody>
<tr>
<th></th>
<td>10</td>
<td>23</td>
<td>3</td>
<td>6</td>
</tr>
</tbody>
</table>
@RubysDo “Creating a Static Web Page in HTML/CSS” https://www.slideshare.net/RababGomaa/
PART 2: PHP - Making Web pages dynamic
Part 2: PHP - Making Webpages Dynamic
Abdel Rahman El Beheri, Malware Test Engineer
● Experience of Web programming /Web design
● WordPress Developer
● Experience Network Analysis and Security
● Previous Nokia Inc. Malware Test Engineer
@abdz91 “PHP - Making Web pages dynamic” https://www.slideshare.net/RababGomaa/
Why PHP?
First, What is PHP?
● A computer general-purpose scripting language (Server Side).
● Originally designed for producing dynamic web pages
● It is a free, open-source software and runs most operating software.
● URL: http://www.php.net
@abdz91 “PHP - Making Web pages dynamic” https://www.slideshare.net/RababGomaa/
So again, why PHP?
● As mentioned before, PHP produces dynamic web pages.
● No need to hard code changes, every time a change is needed.
● Output is real-time hence changes “dynamically”
● However it needs a server to run. (ex. Apache, ILS, etc)
@abdz91 “PHP - Making Web pages dynamic” https://www.slideshare.net/RababGomaa/
PHP Operation Simplified
● PHP can be embedded in the
html code.
● PHP code is executed on the
server, generating HTML then
sent to the client
● To the client, only the html code
and tag appear as shown in the
figure.
@abdz91 “PHP - Making Web pages dynamic” https://www.slideshare.net/RababGomaa/
1. On Windows OS, download and install WAMP. URL:
http://www.wampserver.com
2. On Mac OSX, download and install MAMP. URL:
http://www.mamp.info/en/index.html
3. WAMP or MAMP provide Apache webserver, database server, and php
PHP - Getting Started
@abdz91 “PHP - Making Web pages dynamic” https://www.slideshare.net/RababGomaa/
● PHP is enclosed in <?php … //code here … ?>
● “echo” statement is basically a print out to console or web page
● Tip: PHP is case sensitive. Very annoying when assigning variables! :)
PHP - Sample Code “Hello, World”
@abdz91 “PHP - Making Web pages dynamic” https://www.slideshare.net/RababGomaa/
PHP - Embedded with HTML (Spagetti Way)
@abdz91 “PHP - Making Web pages dynamic” https://www.slideshare.net/RababGomaa/
● Just add the php tag within the html code
to start.
● Assigning variables in PHP starts with “$”
● Variables have many types (ex. String,
Int, Arrays, etc.)
● Conditional statements (ex. If, while, do
while, elseif, etc.)
PHP - Our application
@abdz91 “PHP - Making Web pages dynamic” https://www.slideshare.net/RababGomaa/
● Connecting to MySql database
<?php
//Step1
$db = mysqli_connect('localhost','root','root','alidb')
or die('Error connecting to MySQL server.');
?>
● Then grab what is in the database
<?php
//Start of PHP code (another segment)
//Step2
$query = "SELECT * FROM table1";
PHP - Our application
● Query the database for the values in it using PHP
//Step3
$result = mysqli_query($db, $query);
● Then we go through all the values using a loop
while ($row = mysqli_fetch_array($result)) {
//Step4
$RFID_names[$i] = $row['RFID'];
$BA_values[$i] = $row['ButtonA'];
$BB_values[$i] = $row['ButtonB'];
$BC_values[$i] = $row['ButtonC'];
….
$i++;
}
@abdz91 “PHP - Making Web pages dynamic” https://www.slideshare.net/RababGomaa/
● Finally, connection to the database must be closed
//Step 5
mysqli_close($db);
//end of PHP code
?>
PHP - Our application
@abdz91 “PHP - Making Web pages dynamic” https://www.slideshare.net/RababGomaa/
Thank you for your time!
Rabab Gomaa & Abdel Rahman El Beheri
@RunysDo & @abdz91
https://www.slideshare.net/RababGomaa/

More Related Content

What's hot

Taiwan Web Standards Talk 2011
Taiwan Web Standards Talk 2011Taiwan Web Standards Talk 2011
Taiwan Web Standards Talk 2011Zi Bin Cheah
 
HTML5 and the web of tomorrow!
HTML5  and the  web of tomorrow!HTML5  and the  web of tomorrow!
HTML5 and the web of tomorrow!
Christian Heilmann
 
Web components the future is here
Web components   the future is hereWeb components   the future is here
Web components the future is here
Gil Fink
 
HTML5 & Friends
HTML5 & FriendsHTML5 & Friends
HTML5 & Friends
Remy Sharp
 
HTML5+CSS3 (入門編)
HTML5+CSS3 (入門編)HTML5+CSS3 (入門編)
HTML5+CSS3 (入門編)
博史 高木
 
Please dont touch-3.6-jsday
Please dont touch-3.6-jsdayPlease dont touch-3.6-jsday
Please dont touch-3.6-jsday
Francesco Fullone
 
Introduction to Web Design for Literary Theorists I: Introduction to HTML (v....
Introduction to Web Design for Literary Theorists I: Introduction to HTML (v....Introduction to Web Design for Literary Theorists I: Introduction to HTML (v....
Introduction to Web Design for Literary Theorists I: Introduction to HTML (v....
Patrick Mooney
 
Web scraping 101 with goutte
Web scraping 101 with goutteWeb scraping 101 with goutte
Web scraping 101 with goutte
Joshua Copeland
 
It's a Mod World - A Practical Guide to Rocking Modernizr
It's a Mod World - A Practical Guide to Rocking ModernizrIt's a Mod World - A Practical Guide to Rocking Modernizr
It's a Mod World - A Practical Guide to Rocking Modernizr
Michael Enslow
 
HTML5 Overview
HTML5 OverviewHTML5 Overview
HTML5 Overview
reybango
 
Html5 Overview
Html5 OverviewHtml5 Overview
Html5 Overview
Owen Williams
 
Blazor Full-Stack
Blazor Full-StackBlazor Full-Stack
Blazor Full-Stack
Ed Charbeneau
 
HTML5 and CSS3 Techniques You Can Use Today
HTML5 and CSS3 Techniques You Can Use TodayHTML5 and CSS3 Techniques You Can Use Today
HTML5 and CSS3 Techniques You Can Use TodayTodd Anglin
 
No Feature Solutions with SharePoint
No Feature Solutions with SharePointNo Feature Solutions with SharePoint
No Feature Solutions with SharePoint
mikehuguet
 
Introduction to HTML5
Introduction to HTML5Introduction to HTML5
Introduction to HTML5Terry Ryan
 
Css, xhtml, javascript
Css, xhtml, javascriptCss, xhtml, javascript
Css, xhtml, javascript
Trần Khải Hoàng
 
HTML5 and Joomla! 2.5 Template
HTML5 and Joomla! 2.5 TemplateHTML5 and Joomla! 2.5 Template
HTML5 and Joomla! 2.5 Template
Marvelic Engine Co., Ltd.
 
How to integrate your design in Odoo v8 CMS
How to integrate your design in Odoo v8 CMSHow to integrate your design in Odoo v8 CMS
How to integrate your design in Odoo v8 CMSOdoo
 
Web dev syllabus
Web dev syllabusWeb dev syllabus
Web dev syllabus
Adithcheshan
 

What's hot (19)

Taiwan Web Standards Talk 2011
Taiwan Web Standards Talk 2011Taiwan Web Standards Talk 2011
Taiwan Web Standards Talk 2011
 
HTML5 and the web of tomorrow!
HTML5  and the  web of tomorrow!HTML5  and the  web of tomorrow!
HTML5 and the web of tomorrow!
 
Web components the future is here
Web components   the future is hereWeb components   the future is here
Web components the future is here
 
HTML5 & Friends
HTML5 & FriendsHTML5 & Friends
HTML5 & Friends
 
HTML5+CSS3 (入門編)
HTML5+CSS3 (入門編)HTML5+CSS3 (入門編)
HTML5+CSS3 (入門編)
 
Please dont touch-3.6-jsday
Please dont touch-3.6-jsdayPlease dont touch-3.6-jsday
Please dont touch-3.6-jsday
 
Introduction to Web Design for Literary Theorists I: Introduction to HTML (v....
Introduction to Web Design for Literary Theorists I: Introduction to HTML (v....Introduction to Web Design for Literary Theorists I: Introduction to HTML (v....
Introduction to Web Design for Literary Theorists I: Introduction to HTML (v....
 
Web scraping 101 with goutte
Web scraping 101 with goutteWeb scraping 101 with goutte
Web scraping 101 with goutte
 
It's a Mod World - A Practical Guide to Rocking Modernizr
It's a Mod World - A Practical Guide to Rocking ModernizrIt's a Mod World - A Practical Guide to Rocking Modernizr
It's a Mod World - A Practical Guide to Rocking Modernizr
 
HTML5 Overview
HTML5 OverviewHTML5 Overview
HTML5 Overview
 
Html5 Overview
Html5 OverviewHtml5 Overview
Html5 Overview
 
Blazor Full-Stack
Blazor Full-StackBlazor Full-Stack
Blazor Full-Stack
 
HTML5 and CSS3 Techniques You Can Use Today
HTML5 and CSS3 Techniques You Can Use TodayHTML5 and CSS3 Techniques You Can Use Today
HTML5 and CSS3 Techniques You Can Use Today
 
No Feature Solutions with SharePoint
No Feature Solutions with SharePointNo Feature Solutions with SharePoint
No Feature Solutions with SharePoint
 
Introduction to HTML5
Introduction to HTML5Introduction to HTML5
Introduction to HTML5
 
Css, xhtml, javascript
Css, xhtml, javascriptCss, xhtml, javascript
Css, xhtml, javascript
 
HTML5 and Joomla! 2.5 Template
HTML5 and Joomla! 2.5 TemplateHTML5 and Joomla! 2.5 Template
HTML5 and Joomla! 2.5 Template
 
How to integrate your design in Odoo v8 CMS
How to integrate your design in Odoo v8 CMSHow to integrate your design in Odoo v8 CMS
How to integrate your design in Odoo v8 CMS
 
Web dev syllabus
Web dev syllabusWeb dev syllabus
Web dev syllabus
 

Similar to Developing a Web Application

Drupal7 Theming session on the occassion of Drupal7 release party in Delhi NCR
Drupal7 Theming session on the occassion of  Drupal7 release party in Delhi NCRDrupal7 Theming session on the occassion of  Drupal7 release party in Delhi NCR
Drupal7 Theming session on the occassion of Drupal7 release party in Delhi NCR
Gaurav Mishra
 
Web Fundamentals Crash Course
Web Fundamentals Crash CourseWeb Fundamentals Crash Course
Web Fundamentals Crash CourseMrAbbas
 
Web Fundamentals Crash Course
Web Fundamentals Crash CourseWeb Fundamentals Crash Course
Web Fundamentals Crash CourseMrAbas
 
Popping the Hood: How to Create Custom SharePoint Branding by Randy Drisgill ...
Popping the Hood: How to Create Custom SharePoint Branding by Randy Drisgill ...Popping the Hood: How to Create Custom SharePoint Branding by Randy Drisgill ...
Popping the Hood: How to Create Custom SharePoint Branding by Randy Drisgill ...
SPTechCon
 
Theming websites effortlessly with Deliverance (CMSExpo 2010)
Theming websites effortlessly with Deliverance (CMSExpo 2010)Theming websites effortlessly with Deliverance (CMSExpo 2010)
Theming websites effortlessly with Deliverance (CMSExpo 2010)
Jazkarta, Inc.
 
Light introduction to HTML
Light introduction to HTMLLight introduction to HTML
Light introduction to HTML
abidibo Contini
 
Web design and Development
Web design and DevelopmentWeb design and Development
Web design and Development
Shagor Ahmed
 
High-Speed HTML5
High-Speed HTML5High-Speed HTML5
High-Speed HTML5
Peter Lubbers
 
Fundamentals of web_design_v2
Fundamentals of web_design_v2Fundamentals of web_design_v2
Fundamentals of web_design_v2
hussain534
 
Tek 2013 - Building Web Apps from a New Angle with AngularJS
Tek 2013 - Building Web Apps from a New Angle with AngularJSTek 2013 - Building Web Apps from a New Angle with AngularJS
Tek 2013 - Building Web Apps from a New Angle with AngularJS
Pablo Godel
 
Rails Girls - Introduction to HTML & CSS
Rails Girls - Introduction to HTML & CSSRails Girls - Introduction to HTML & CSS
Rails Girls - Introduction to HTML & CSS
Timo Herttua
 
Using Cool New Frameworks in (Mobile) Domino Apps
Using Cool New Frameworks in (Mobile) Domino AppsUsing Cool New Frameworks in (Mobile) Domino Apps
Using Cool New Frameworks in (Mobile) Domino Apps
Teamstudio
 
Fundamentals of HTML5
Fundamentals of HTML5Fundamentals of HTML5
Fundamentals of HTML5
St. Petersburg College
 
Frontend for developers
Frontend for developersFrontend for developers
Frontend for developers
Hernan Mammana
 
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考える
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考えるIt is not HTML5. but ... / HTML5ではないサイトからHTML5を考える
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考える
Sadaaki HIRAI
 
TOSSUG HTML5 讀書會 新標籤與表單
TOSSUG HTML5 讀書會 新標籤與表單TOSSUG HTML5 讀書會 新標籤與表單
TOSSUG HTML5 讀書會 新標籤與表單
偉格 高
 
A Holistic View of Website Performance
A Holistic View of Website PerformanceA Holistic View of Website Performance
A Holistic View of Website Performance
Rene Churchill
 

Similar to Developing a Web Application (20)

Drupal7 Theming session on the occassion of Drupal7 release party in Delhi NCR
Drupal7 Theming session on the occassion of  Drupal7 release party in Delhi NCRDrupal7 Theming session on the occassion of  Drupal7 release party in Delhi NCR
Drupal7 Theming session on the occassion of Drupal7 release party in Delhi NCR
 
Web Fundamentals Crash Course
Web Fundamentals Crash CourseWeb Fundamentals Crash Course
Web Fundamentals Crash Course
 
Web Fundamentals Crash Course
Web Fundamentals Crash CourseWeb Fundamentals Crash Course
Web Fundamentals Crash Course
 
Popping the Hood: How to Create Custom SharePoint Branding by Randy Drisgill ...
Popping the Hood: How to Create Custom SharePoint Branding by Randy Drisgill ...Popping the Hood: How to Create Custom SharePoint Branding by Randy Drisgill ...
Popping the Hood: How to Create Custom SharePoint Branding by Randy Drisgill ...
 
Theming websites effortlessly with Deliverance (CMSExpo 2010)
Theming websites effortlessly with Deliverance (CMSExpo 2010)Theming websites effortlessly with Deliverance (CMSExpo 2010)
Theming websites effortlessly with Deliverance (CMSExpo 2010)
 
Light introduction to HTML
Light introduction to HTMLLight introduction to HTML
Light introduction to HTML
 
Web design and Development
Web design and DevelopmentWeb design and Development
Web design and Development
 
High-Speed HTML5
High-Speed HTML5High-Speed HTML5
High-Speed HTML5
 
Javascript by geetanjali
Javascript by geetanjaliJavascript by geetanjali
Javascript by geetanjali
 
[In Control 2010] HTML5
[In Control 2010] HTML5[In Control 2010] HTML5
[In Control 2010] HTML5
 
Fundamentals of web_design_v2
Fundamentals of web_design_v2Fundamentals of web_design_v2
Fundamentals of web_design_v2
 
Tek 2013 - Building Web Apps from a New Angle with AngularJS
Tek 2013 - Building Web Apps from a New Angle with AngularJSTek 2013 - Building Web Apps from a New Angle with AngularJS
Tek 2013 - Building Web Apps from a New Angle with AngularJS
 
Rails Girls - Introduction to HTML & CSS
Rails Girls - Introduction to HTML & CSSRails Girls - Introduction to HTML & CSS
Rails Girls - Introduction to HTML & CSS
 
Using Cool New Frameworks in (Mobile) Domino Apps
Using Cool New Frameworks in (Mobile) Domino AppsUsing Cool New Frameworks in (Mobile) Domino Apps
Using Cool New Frameworks in (Mobile) Domino Apps
 
HTML.pdf
HTML.pdfHTML.pdf
HTML.pdf
 
Fundamentals of HTML5
Fundamentals of HTML5Fundamentals of HTML5
Fundamentals of HTML5
 
Frontend for developers
Frontend for developersFrontend for developers
Frontend for developers
 
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考える
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考えるIt is not HTML5. but ... / HTML5ではないサイトからHTML5を考える
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考える
 
TOSSUG HTML5 讀書會 新標籤與表單
TOSSUG HTML5 讀書會 新標籤與表單TOSSUG HTML5 讀書會 新標籤與表單
TOSSUG HTML5 讀書會 新標籤與表單
 
A Holistic View of Website Performance
A Holistic View of Website PerformanceA Holistic View of Website Performance
A Holistic View of Website Performance
 

More from Rabab Gomaa

The Recipe for Making Accessible Widgets!
The Recipe for Making Accessible Widgets!The Recipe for Making Accessible Widgets!
The Recipe for Making Accessible Widgets!
Rabab Gomaa
 
Web Accessibility: Understanding & Practice!
Web Accessibility: Understanding & Practice!Web Accessibility: Understanding & Practice!
Web Accessibility: Understanding & Practice!
Rabab Gomaa
 
Accessibility Testing Using Screen Readers
Accessibility Testing Using Screen ReadersAccessibility Testing Using Screen Readers
Accessibility Testing Using Screen Readers
Rabab Gomaa
 
Démonstration de JAWS – lecteur d’écran
Démonstration de JAWS – lecteur d’écranDémonstration de JAWS – lecteur d’écran
Démonstration de JAWS – lecteur d’écran
Rabab Gomaa
 
Accessible & Usable Web Forms. Your How To Guide!
Accessible & Usable Web Forms. Your How To Guide!Accessible & Usable Web Forms. Your How To Guide!
Accessible & Usable Web Forms. Your How To Guide!
Rabab Gomaa
 
Is It WCAG 2.0 Compliant?
Is It WCAG 2.0 Compliant?Is It WCAG 2.0 Compliant?
Is It WCAG 2.0 Compliant?
Rabab Gomaa
 

More from Rabab Gomaa (6)

The Recipe for Making Accessible Widgets!
The Recipe for Making Accessible Widgets!The Recipe for Making Accessible Widgets!
The Recipe for Making Accessible Widgets!
 
Web Accessibility: Understanding & Practice!
Web Accessibility: Understanding & Practice!Web Accessibility: Understanding & Practice!
Web Accessibility: Understanding & Practice!
 
Accessibility Testing Using Screen Readers
Accessibility Testing Using Screen ReadersAccessibility Testing Using Screen Readers
Accessibility Testing Using Screen Readers
 
Démonstration de JAWS – lecteur d’écran
Démonstration de JAWS – lecteur d’écranDémonstration de JAWS – lecteur d’écran
Démonstration de JAWS – lecteur d’écran
 
Accessible & Usable Web Forms. Your How To Guide!
Accessible & Usable Web Forms. Your How To Guide!Accessible & Usable Web Forms. Your How To Guide!
Accessible & Usable Web Forms. Your How To Guide!
 
Is It WCAG 2.0 Compliant?
Is It WCAG 2.0 Compliant?Is It WCAG 2.0 Compliant?
Is It WCAG 2.0 Compliant?
 

Recently uploaded

UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 

Recently uploaded (20)

UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 

Developing a Web Application

  • 1. Developing a Web Application Develop a basic web application to graph results from the database and style it using HTML/CSS. Rabab Gomaa & Abdel Rahman El Beheri IEEE Young Professional Workshop December 2nd, 2017 https://www.slideshare.net/RababGomaa/ Rabab Gomaa : @RubysDo Abdel Rahman Elbeheri : @abdz91
  • 2. Content Part 1: Creating a static web page in HTML/CSS by Rabab ● HTML ● CSS ● WET/Graph Part2 : PHP - Making Web pages dynamic by Abdel Rahman ● Why PHP? ● PHP Operation Simplified ● PHP - Getting Started ● PHP - Sample code “Hello, World” ● PHP - Embedded with HTML ● PHP - Our application @RubysDo “Creating a Static Web Page in HTML/CSS” https://www.slideshare.net/RababGomaa/
  • 3. Part 1: Creating a page with graphs in HTML/CSS Rabab Gomaa, Web Accessibility Expert ● Experience of web development / web design /web integration. ● Works for the Federal Government ● Active in the web accessibility community ○ Presented in several conferences: The Accessibility Conference of University of Guelph 2014 & 2016, 2017, CodeFest4 (2016), a11yYOW 2014 and a11yQC 2016. ○ Co-organizer of Ottawa Digital Accessibility and Inclusive Design http://meetup.com/a11yOttawa/ @RubysDo “Creating a Static Web Page in HTML/CSS” https://www.slideshare.net/RababGomaa/
  • 4. Part 1: Creating a page with graphs in HTML/CSS What we need to start 1. A Browser 2. An HTML editor Dreamweaver CC (trial version) http://www.adobe.com/ca/products/dreamweaver/free-trial-download.html 3. WET 4 http://wet-boew.github.io/wet-boew/docs/versions/dwnld-en.html @RubysDo “Creating a Static Web Page in HTML/CSS” https://www.slideshare.net/RababGomaa/
  • 5. HTML What is HTML? ● Hyper Text Markup Language ● HTML describes the structure of a web page ● Browsers use HTML to render the content of a web page ● HTML does not have a logic (not a programming language) @RubysDo “Creating a Static Web Page in HTML/CSS” https://www.slideshare.net/RababGomaa/ Learn More - HTML Crash Course For Absolute Beginners retrieved from https://www.youtube.com/watch?v=UB1O30fR-EE
  • 6. HTML Syntax and Structure HTML Syntax ● <tagname>Content goes here...</tagname> Start tag Element content End tag <h1> My First Heading </h1> Simple element <table> table structure </table> element with structure HTML Page Structure <!doctype html> <html> <head> <meta charset="utf-8"> <title>Untitled Document</title> </head> <body> <h1>Pool Results for 2017</h1> </body> </html> @RubysDo “Creating a Static Web Page in HTML/CSS” https://www.slideshare.net/RababGomaa/
  • 7. Exercise 1: Create your own HTML page <!doctype html> <html> <head> <meta charset="utf-8"> <title>Ottawa Voting Corner - IEEE Young Professional</title> </head> <body> <h1>Pool Results for 2017</h1> <p>Although the competition between choices, Ottawa citizens have made their mind on the best of this 2017 year!!</p> <h2>Ottawa's official food in 2017</h2> </body> </html> @RubysDo “Creating a Static Web Page in HTML/CSS” https://www.slideshare.net/RababGomaa/ Pool Results for 2017………………...
  • 8. CSS What is CSS? ● CSS describes how HTML elements should be displayed. Inserting CSS in HTML ● External style sheet <link rel="stylesheet" type="text/css" href="mystyle.css"> ● Internal style sheet <head> <style> h1 {color: blue;} </style> </head> ● Inline style <h1 style="color: blue;">Pool Results for 2017</h1> @RubysDo “Creating a Static Web Page in HTML/CSS” https://www.slideshare.net/RababGomaa/
  • 9. Exercise 2: Write your own styles <!doctype html> <html> <head> <meta charset="utf-8"> <title>Ottawa Voting Corner - IEEE Young Professional</title> <style> h1 {background-color: #9CF;} </style> </head> <body> <h1>Pool Results for 2017</h1> </body> </html> @RubysDo “Creating a Static Web Page in HTML/CSS” https://www.slideshare.net/RababGomaa/ <title> <h1> <p> <h2>
  • 10. Use of WET to create graph What is WET? ● Front-end framework for building websites ● A collection of flexible and themeable templates and reusable components Charts Working Example http://wet-boew.github.io/v4.0-ci/demos/index-en.html @RubysDo “Creating a Static Web Page in HTML/CSS” https://www.slideshare.net/RababGomaa/
  • 11. Exercise 3: Code results table and view chart <h2>Ottawa's official food in 2017</h2> <table class="wb-charts wb-charts-donut table"> <caption> What is Ottawa's official food?</caption> <thead> <tr> <td></td> <th>Shawarma</th> <th>Beavertail</th> <th>Sushi</th> <th>Burger</th> </tr> </thead> <tbody> <tr> <th></th> <td>10</td> <td>23</td> <td>3</td> <td>6</td> </tr> </tbody> </table> @RubysDo “Creating a Static Web Page in HTML/CSS” https://www.slideshare.net/RababGomaa/
  • 12. PART 2: PHP - Making Web pages dynamic
  • 13. Part 2: PHP - Making Webpages Dynamic Abdel Rahman El Beheri, Malware Test Engineer ● Experience of Web programming /Web design ● WordPress Developer ● Experience Network Analysis and Security ● Previous Nokia Inc. Malware Test Engineer @abdz91 “PHP - Making Web pages dynamic” https://www.slideshare.net/RababGomaa/
  • 14. Why PHP? First, What is PHP? ● A computer general-purpose scripting language (Server Side). ● Originally designed for producing dynamic web pages ● It is a free, open-source software and runs most operating software. ● URL: http://www.php.net @abdz91 “PHP - Making Web pages dynamic” https://www.slideshare.net/RababGomaa/
  • 15. So again, why PHP? ● As mentioned before, PHP produces dynamic web pages. ● No need to hard code changes, every time a change is needed. ● Output is real-time hence changes “dynamically” ● However it needs a server to run. (ex. Apache, ILS, etc) @abdz91 “PHP - Making Web pages dynamic” https://www.slideshare.net/RababGomaa/
  • 16. PHP Operation Simplified ● PHP can be embedded in the html code. ● PHP code is executed on the server, generating HTML then sent to the client ● To the client, only the html code and tag appear as shown in the figure. @abdz91 “PHP - Making Web pages dynamic” https://www.slideshare.net/RababGomaa/
  • 17. 1. On Windows OS, download and install WAMP. URL: http://www.wampserver.com 2. On Mac OSX, download and install MAMP. URL: http://www.mamp.info/en/index.html 3. WAMP or MAMP provide Apache webserver, database server, and php PHP - Getting Started @abdz91 “PHP - Making Web pages dynamic” https://www.slideshare.net/RababGomaa/
  • 18. ● PHP is enclosed in <?php … //code here … ?> ● “echo” statement is basically a print out to console or web page ● Tip: PHP is case sensitive. Very annoying when assigning variables! :) PHP - Sample Code “Hello, World” @abdz91 “PHP - Making Web pages dynamic” https://www.slideshare.net/RababGomaa/
  • 19. PHP - Embedded with HTML (Spagetti Way) @abdz91 “PHP - Making Web pages dynamic” https://www.slideshare.net/RababGomaa/ ● Just add the php tag within the html code to start. ● Assigning variables in PHP starts with “$” ● Variables have many types (ex. String, Int, Arrays, etc.) ● Conditional statements (ex. If, while, do while, elseif, etc.)
  • 20. PHP - Our application @abdz91 “PHP - Making Web pages dynamic” https://www.slideshare.net/RababGomaa/ ● Connecting to MySql database <?php //Step1 $db = mysqli_connect('localhost','root','root','alidb') or die('Error connecting to MySQL server.'); ?> ● Then grab what is in the database <?php //Start of PHP code (another segment) //Step2 $query = "SELECT * FROM table1";
  • 21. PHP - Our application ● Query the database for the values in it using PHP //Step3 $result = mysqli_query($db, $query); ● Then we go through all the values using a loop while ($row = mysqli_fetch_array($result)) { //Step4 $RFID_names[$i] = $row['RFID']; $BA_values[$i] = $row['ButtonA']; $BB_values[$i] = $row['ButtonB']; $BC_values[$i] = $row['ButtonC']; …. $i++; } @abdz91 “PHP - Making Web pages dynamic” https://www.slideshare.net/RababGomaa/
  • 22. ● Finally, connection to the database must be closed //Step 5 mysqli_close($db); //end of PHP code ?> PHP - Our application @abdz91 “PHP - Making Web pages dynamic” https://www.slideshare.net/RababGomaa/
  • 23. Thank you for your time! Rabab Gomaa & Abdel Rahman El Beheri @RunysDo & @abdz91 https://www.slideshare.net/RababGomaa/