CMSI 2021

Web Application Development

Fall 2023

This page is maintained as an archival record of the course shown above, and as such, some links on this page may no longer be valid nor accessible. They are kept here as a record of the resources that were available at the time of the course offering.
  • Brightspace: Where you can access private content and check your grades
  • We will use GitHub Classroom to manage and submit assignments
  • Every now and then we may use Socrative to ask or answer questions as a class—my Socrative room is DONDILMU


  • Assignment 0914 Standalone vanilla web app Setup
  • Assignment 1005 Generic API-backed web app Setup
    • Local (on-your-machine) React development requires NodeJS (v18 or higher is OK)
    • To run npx create-react-app on your assignment repository, you’ll need to temporarily move files “out of the way” so that npx create-react-app can do its thing:

      1. Move the following files out of the cloned repository folder to another place first:, .prettierrc, .github—the latter two may be invisible in the GUI so you’ll need to use the mv or move command to relocate them
      2. Another file can be outright deleted from your cloned repository: (npx create-react-app will create its own version of that file in its place)
      3. Having done this, you can now execute npx create-react-app {cloned repository folder name}. Make sure (just like in Dr. Toal’s notes) that you are in the folder that contains the cloned repository folder
      4. After create-react-app finishes, move the files back to the repository folder
      5. From this point, the standard git add/commit/push sequence should work as expected

    • Download and install the Postman desktop app so that you can interact with APIs directly in order to get to know them better without worrying about programming to them (yet)—signup is required these days to make use of its main features 🫤 but at least it’s free and fairly unobtrusive
    • This (old) Prezi provides an overview of API-backed applications—but the information there is still applicable today!
  • Assignment 1102 Firebase-backed web app Setup
    • Get going hands-on with “bare-bones-blog”—an “assignment” in GitHub Classroom that is actually a sample project from which you can start learning Firebase
    • bare-bones-blog does not work with Firebase right out of the box: to introduce you to Firebase, you will need to follow the instructions in Dr. Toal’s codealong —to be walked through in class—in order to get it up and running
    • The Firebase website is of course the authoritative site for all things Firebase (and the codealong to morph bare-bones-blog into an actual Firebase-backed web app!)
    • Dr. Toal’s Firebase page provides additional background and links
    • Firestore, which is one of the databases available for use with Firebase, is an entire subsystem in itself. In addition to its main website, a Getting to Know Cloud Firestore YouTube playlist is available
  • Assignment 1214 Your own web app Setup
    • Dr. Toal’s Project Ideation page adds structure to an otherwise open-ended process

Course Content and Useful Links