A proposed schedule is given below. This may be subject to change. Topics may be added or removed or eliminated from coverage.
READING Books:
W= "Web Technologies A Computer Science Perspective"
GAE= "Programming Google App Engine: Build and Run Scalable Web Apps on Google's Infrastructure"
M = "Getting MEAN with Mongo, Express, Angular, and Node, Second Edition"
Client= "Pro HTML5 with CSS, JavaScript, and Multimedia: Complete Website Development and Best Practices"
I1 Introduction to Class Class Lecture, W- Chapter 1.
|
|||
(client side) | |||
F1 HTML (and some basics) Read Client Book: : Part I "HyperText Markup Language" AND Part II "HTML,..." and go over:
|
|||
F2 Design - static
|
|||
F3 CSS
|
|||
F4 Client Side JavaScript Read Client Book:: Part IV "JavaScript" and go over:
Interactivity:Event Handeling, Form Validation DOM - Document Object Model: DOM, DOM and Cookies, DOM official site More (on your own) :JavaScript to Server side Program, Javascript and Language Detection,JQuery- A JavaScript Framework Bootsrap Lab: Learn BootstrapAND Bootstrap5 (HTML, CSS + Javascript framework) via w3schools. Also, look at Getting Started in Bootstrap |
|||
F5 React/Angular Read M Book: Chapter 8-10 Angular: Lecture part 1, part 2 on services+data, React: a little ReactJS intro , tutorial and testing library(including DOM assertions) LAB F5.1 - Show start of next class learn react through tutorial make tic tac toe (from reactjs.org site) - Will be recorded - submit screen shot to Canvas->Assignments->Exercise React by Sept 12 , 11pm
|
|||
(cloud intro featuring AWS IaaS) | |||
C1 Cloud Class Lecture,
|
|||
C2 Cloud: Amazon Web Services - EC2 only [cloud as IAAS] Class Lecture, Read W-Chapter 1, 3, 5, 6(elastic IP)
EC2
AMIs:
search Amazon Marketplace for a (free, cheap,??) pre-configured AMI, AMI types, AMI Instance (HW) types Containers: 3rd Party Setup of IaaS (build, ship,run): Docker (opensource, has support for AWS and Google Cloud)
Container Orchestrator Service: : a container orchestration platform that automates the deployment, management, scaling, networking, and availability of the container clusters,
|
|||
(server side) | |||
N1 Serverside Programming: NodeJS, WebStorm Read M Book - Chapter 3
NodeJS basics lecture, NodeJS basics, NodeJS files Webstorm: GitHub account setup, Webstorm Project Enable Git+ associate with GitHub Respository Lab N1.1: Go over Jetbrains WebStorm documentation and create a NodeJS file and run locally, Then Enable Git&associate w/ GitHub repository and push it. (finish by 1 week -get help from instructor if you need it) |
|||
N2 MEN (start of FullStack) Read M Book - Chapter 1,2, Read : quick design steps for a MEAN or MERN application (by illustraton)
|
|||
N3 Express, on the Cloud Read BOOK 1: Chapter 3,4 and go over:
Express Lecture and template (interface) options
,Express, Reading Request Data (from URI query or forms), express and MVC AND detailed New Customer Example Development using Webstorm IDE and Git
Deployment to Google Cloud Run (serverless Google Cloud --like Amazon Lambda - PAAS)- Video: Cloud Run (no container needed)
LAB N3.1 -setup WebStorm with Git and Google CloudRun and create beginning NodeJS+Express project (use this code as a base --note this code is very lightly commented --not sufficient for what will be required of course work --but ,is a quick sample) and show deployed to both your local machine and running on GoogleCloudRun. Demo it running in both. ALSO make sure you know how to stop the code running and demo this. Show you know how to deploy from Git or Manually to Google Cloud Run |
|||
(database) | |||
M1 Database - MongoDB Read M Book - Chapter 5,6 and go over:
|
|||
M2 Lab Database - MongoDB and more on GitHub Projects
PRELAB - Setup a MongoDB database called "shoppingsite" that contains a collection called "customers". Then understand and execute the sample code --- a NodeJS+Express(w/EJS) project which reads in form data for a new customer and creates a new document in the customers collection.
LAB 10.1 -(GROUP) DUE Oct. 15 start of class. In your assigned group work on deployment of a Database and Collection of your choice for your hypothetical company from Project 1 extending the PRELAB work you have done. Add code and an interface form to display the first 10 customers in your "customers" collection. Show the code running when called upon. Turn in a document showing a screenshot of the code running, show a 2nd screenshot of the collection of customers in your database (should be 10 or more). |
|||
(cloud featuring Google PaaS + cloud data) | |||
G1 Cloud:Hosting static site on Google Cloud *** on your own *** Google Cloud : Hosting a Static Site (HTML, CSS, ClientSide JavaScript) on Google Cloud - via HTTP (nWo SSL certificate needed) or via HTTPS (with load balancing and need an SSL certificate) : Video Discussing GCP
LAB G1.1- [OPTIONAL] follow step-by-step instructions [NOTE: you do not have a registered domain name just use a unique name for your storage bucket] |
|||
G2 Cloud:PAAS - Google App Engine (GAE) high level overview and tools Class Lecture, GAE book Chapter 1 and 2 Google Cloud, AND Tour of Google Cloud QwikLabs (45 minutes)
Other [Optional]
Budget, Pricing [optional] --articles (go over after understand GAE): Budget, Pricing and Tunning your GAE app , GAE pricing model, The Amazing Story Of AppEngine And The Two Orders Of Magnitude, Google's Scaling Lecture (OLD) and Video
Exercise G2.1 DUE start of class Oct. 22 Go through Use gcloud app deploy and gcloud app browse to deploy and view your service from the Google Cloud CLI (Command Line Interface). Create a simple NodeJS Express application (or reuse one from before) and deploy it to Google Cloud. Turn in the following
Advanced Lab Experience - using Google Cloud Code --on your own-What is Google Cloud Code?
|
|||
G3 Cloud: Google App Engine (GAE) Details - web transactions- front-end, request-handler and back-end Class Lecture,
Exercise G3.1: (Group) Due start of class Oct. 24 Google App Engine+ to deploy a Google Translate app. Deploy 2 versions of the code where v1=green background and v2=pink background. Load Balancing so that each version gets 50% traffic. Turn in 3 screen shots: 1+2) applicaton running with URL shown of GAE deploymen -GIVE 2 screenshots showing v1 and v2 running spearately 3) Screenshot of application deployed in GAE console. Turn in 3 screenshots - 1 showing the application deployed in GAE console and the 2nd and 34d showing v1 and v2 of the application running with the URL clearly shown in the screenshot corresponding to the GAE deployed URL. |
|||
G4 Cloud: Google App Engine (GAE) - Firestore (datastore) Class Lecture, GAE book- Chapters 4,5,6,8
NOTE: Now Datastore (still this name) is being labeled as Google Firestore in "Native mode"
Experience:
Exercise G4.1: (Group) start of class Oct. 29, Complete the Friendly Eats NodeJS application w/ Firestore deployed in GAE. Turn in 3 screen shots: 1) applicaton running with URL shown of GAE deployment 2) Screenshot of application deployed in GAE console 3) Screenshot of Firestore with Data in Colleciton. |
|||
G5 Cloud: Google App Engine (GAE) - caching & SaaS example - google cloud vision Class Lecture, GAE book- Chapter 9
Software as a Service Example: Google Cloud Vision Service Google Cloud Vision API experiences:
EXERCISE:(20 points, GROUP) DUE Oct. 31, start of class : Exercise Software As A Service on Google
|
|||
G6 Cloud: Google App Engine (GAE) - Fetching Web resources, Task and Queues (On your own) Class Lecture, GAE book- Chapter 12, 15 Fetching URLs (other Web resources/services) What is a TaskQueue and Google's Task Queues Lecture and Video,
Java TaskQueue API |
|||
G7 Cloud: Google Cloud- other / advanced (on your sown) Class Lecture,
QwikLab Experience - Google Cloud + ML
Other
|
|||
(security intro) [*depending on schedule potentially asynchronous] | |||
|
|||
(formats, analytics + various) [*deoebubg ib scedyke potentially asynchronous] | |||
O1 Web Data: JSON & XML W- Chapter 7, (Reference book optional reading J- Chapter 9,14) Lecture JSON lecture, JSON: a data interchange "language"
|
|||
O2 Web Issues: Internationalization, Localization
Lecture: Encoding, Internationalizaiton,NodeJS and Internationalization
|
|||
O3 More on "Data", Cache and Other Issues
|
|||
O4 Web Issues: Services, Analytics, and more
|
|||