CSCI 421 - Lecture 9
Instructor's Class Notes
- Shifting Gears - Having finished the "Getting Mean" book, the rest of the course will be spent reviewing another source and perspective
for Express development using Node.js, with that perspective coming from the O'Reilly book referenced below. It is up to the student to read
the book. What follows and what is presented during lectures are a bullet-list of topics from the book along with commentary.
- Chapter 1 - Introduction to Express:
- Express's creator, TJ Holowaychuk, described Express as a web framework inspired by Sinatra, which is a web framework based on Ruby.
- Licensing - MIT most often, but pick one for your own stuff you make public.
- Chapter 2 - Getting Started with Node:
- Which Terminal to use
- Consider Virtualization of Linux if running Windows.
- There's also Codio https://codio.com, a cloud-based computers for faculty, teaching assistants and students.
- Simple web server example (pretty cool).
- Chapter 3 - Saving Time with Express:
- Consider scaffolding, like: HTML5 Boilerplate https://html5boilerplate.com/.
- The rest of the chapter goes over the Meadowlark Travel website example.
- Chapter 4 - Tidying Up:
- Best practices including version control, using Git, etc.
- Essentials for .gitignore.
- npm Packages use and best practices.
- Discussion of Project Metadata and Markdown (.md file syntax) https://daringfireball.net/projects/markdown/syntax.
- Chapter 5 - Quality Assurance
- Page testing with Mocha and Chai (just like unit testing).
- Cross page testing discussed.
- Linting - JSHint is a good linter.
- Link Checking via LinkChecker - checks for dead links.
- Automated testing via Grunt.
- Continuous Integration (CI) - Travis CI is a good automatic build/deploy system; https://docs.travis-ci.com/user/tutorial/.
- Chapter 6 - The Request and Response Objects
- Good overview of HTTP/HTML fundamentals.
- Request Object - Excellent overview of the object and its properties.
- Response Object - Good overview.