Intro to Full-Stack Javascript

Frontend and Backend programming with javascript
Summer Semester 2020
Instructor: Taimur Khan
- Summary session 1:
	- Self-learning
		- JS Syntax basics + Program structures
- Homework
 
- Guided-learning
 
- Self-learning
		
- 
This session's themes:
	- Basics of Front- and Backend programming in JS
- Intro to Versioning --> Github
 

Session 2 - Overview
- In the context of web dev, full-stack just means that your programs have both client and server software
- Client-side means that the action takes place on the user's (the client's) device. Server-side means that the action takes place on a web server
- Analogy

What is Full-stack?

Source: https://www.cloudflare.com/learning/serverless/glossary/client-side-vs-server-side/
- 
Client-side part of your software is called the 'frontend'
	- usually programmed by dedicated Frontend Developers
- Handles, e.g. :
		- Page requests (HTML/CSS)
- Form/Data handling
- GUI for server side "parts"
 
 
- 
Server side part of your software is the 'backend'  that takes place on a web server.
	- web server management/maintenance --> DevOps
- Handles, e.g. :
		- Database requests
- Data processing
- User connections/sessions
 
 

defining Concepts
Source: https://www.cloudflare.com/learning/serverless/glossary/client-side-vs-server-side/

Frameworks, libraries

Source: geeksforgeeks.org
- 
Libraries are tools
	- Imagine the tools needed to make a burger
 
 
- Imagine the tools needed to make a burger
- 
Framework may be thought as procedures that are streamlined for a particular task
	- The procedure of making the burger, like a recipe for example
 
- "HTTP is a protocol which allows the fetching of resources, such as HTML documents." - MDN Web Docs

http webservers: INtro
Source: Taimur Khan.


- HTTP Methods allow you to control the flow of data between your frontend and backend

http webservers: MEthods
Source: lynda.com

- Let's use a Node js framework (Express) for creating a HTTP server on localhost

http webservers : Live demo
Source: Taimur Khan.

//in terminal 
express
//in terminal
npm install
//add port as a constant --> 
const port = 3000;
// add this to recieve requests and send responses on the path ´/´
app.get('/', (req, res) => res.send('Hello World!'));
//add this to make the server listen on out port
app.listen(port, () => console.log(`Example app listening at http://localhost:${port}`)); 
The Big overview
Source: Taimur Khan's Coggle -- video links from www.codecademy.com.
Semester Project and Report
- Project will be introduced in detail in the 5th Session
 
- Shared on Github
 
- 
In essence, we will be: developing a distributed communication and visualisation system with Node.js, MongoDB, and P5.js
	- Nodejs + MongoDB --> backend
- p5. js --> frontend
 

Semester Project
Final project result


Closing Remarks
Welcome to web programming!
Intro to FSjs - Frontend and Backend programming
By taimurhk
Intro to FSjs - Frontend and Backend programming
- 127
 
   
   
  