Web Development

Niels Müller Larsen

This work is licensed under the Creative Commons Attribution 4.0 License. To view a copy of this license, visit https://creativecommons.org/licenses/by/4.0/ or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.

2023-08-25


Table of Contents
Preface
1. Intro Stuff / Curriculum
2. Semester Study Plan
3. Vocabulary
Introduction I - Overview
1. Tools, Installation, etc
I. Webprogramming I 1st Semester
1. Intro/Recap, Terminology
2. I/O, Types, and Operators
3. Functions
4. Conditionals
5. Recursion
6. Iterations - Loops
7. JavaScript Data Structures: Collections
8. JavaScript Data Structures: Objects
9. The Browser - DOM, Cookies, Localstorage
10. Planet 9
11. Semantic Data Modelling, The Entity Relationship Model
12. Relational Model, SQL Schema
13. SQL Data
14. Node.js and npm - The First Steps
15. Node.js - Handling Requests, and Routing
16. Node.js - Integrating Relational DB - Pattern App
II. Webprogramming II 2nd Semester
17. Node.js - Intro to Part II
18. Node.js - Introducing MongoDB
19. Node.js - V, NoSQL Database MongoDB
20. Express I - Basics
21. Express II - MVC and Asynchronicity
22. Express III - Models in MongoDB
23. Express IV - Practicum
24. Express V - Building and Using an API
25. Node.js - Deployment on Heroku
26. Node.js -
III. Development Environments
27. Intro to Development Environments
28. Version Control with Git - I
29. Version Control with Git - II, Groups
30. Version Control with Git - III, Branches
31. Regular Expressions
32. WWW and Browser Based Development Tools
33. JavaScript Modules in the Web Browser I
34. JavaScript Modules in the Web Browser II
35. SVG - Scalable Vector Graphics I
36. SVG - Scalable Vector Graphics II
37. JSON and AJaX
38. Fetch
IV. Elective: Data Security
39. Data Security Intro
40. Data Security I - Basic Encryption
41. Data Security II - Encryption - TLS
42. Data Security III - Hashing
43. Data Security IV - OWASP, Injection, XSS
44. Data Security V - Recap Techie, GDPR
45. Application Security, Intro
46. Application Security, Access
47. Application Security, Node Middleware
48. Application Security, Authentication Strategies - Local
49. Application Security More Strategies - OAuth2
50. Application Security, Loose Ends
V. Elective: Data Integration
51. Intro to Data Integration
52. Data Integration I - JSON
53. Data Integration II, JSON Schema
54. Data Integration III, Consume a REST API
55. Data Integration V, Build a REST API cont.
A. Model Solutions
A.1. Web Programming I, JavaScript and Node.js
A.2. Web Programming II, Node.js and Express
A.3. Development Environments
A.4. Elective: Security
A.5. Elective: Data Integration
B. Toolchain
B.1. Package Managers for Your Operating System
B.2. Install Node.js
B.3. MongoDB, Installation and Setup
B.4. Install Git, Version Control System
B.5. Installing a LAMP Stack
C. Git Workflow
C.1. Install Git, Version Control System
C.2. Git for the Brave
D. Hashing and Passwords
D.1. Hashing
D.2. Passwords
D.3. Assignments Passwords
E. Images in Databases
E.1. Images in MongoDB from Node.js
F. node REST Examples
F.1. References for this Appendix
F.2. REST API with node, Express, and MongoDB
Bibliography