Web development is one of the most highly sought after skills in the software industry today. Full-Stack Web Development From the Ground Up: Principles, Practices, and Technologies presents a systematic and modern treatment of this core area of software development, starting with the fundamentals of front-end development using HTML, CSS, and JavaScript; moving to front-end development with React; and culminating in server-side development using Express.js, Node.js, and MongoDB.
Using the widely adopted MERN stack (MongoDB, Express.js, React.js, and Node.js), this undergraduate textbook explores full-stack web development through the step-by-step construction of a pedagogical version of SpeedScore (see https://speedscore.org), a sophisticated full-stack web application that supports the international speedgolf community. The book’s emphasis is not on specific web development technologies, but rather on the underlying concepts, principles, and best practices of web development. This approach lays a solid foundation for students to become proficient web developers who can adapt to the rapidly changing landscape of web development technologies.
1. Title of Book - p. i 2. Cover image - p. i 3. Title page - p. ii 4. Table of Contents - p. iii 5. Copyright - p. iv 6. Author Biography - p. xiii 7. Foreword - p. xv 8. Dedication - p. xvii 9. Preface - p. xix 10. Chapter 1. Welcome to Full-Stack Web Development - p. 1 11. Part I. Front-End Development in HTML, CSS, and Javascript - p. P1 12. Chapter 2. The Front-End Code Behind a Single-Page Web App - p. 23 13. Chapter 3. Creating a Single-Page Web App Framework in HTML and CSS: Semantic HTML and ARIA Roles - p. 41 14. Chapter 4. Creating a Single-Page Web App Framework in HTML and CSS: Part II - p. 53 15. Chapter 5. Bringing a Single-Page Web App to Life With JavaScript: Event Handling and Menus - p. 71 16. Chapter 6. Bringing a Single-Page Web App to Life With JavaScript: Tabs and Modal Dialogs - p. 87 17. Chapter 7. Automated Testing of Client-Side Web Apps - p. 105 18. Chapter 8. Obtaining and Validating User Data With HTML Forms - p. 131 19. Chapter 9. Using HTML Forms: A More Advanced Example - p. 153 20. Chapter 10. Saving User Data Locally - p. 167 21. Chapter 11. Working With Data in Tables - p. 187 22. Part II. Front-End Development in React - p. P2 23. Chapter 12. Welcome to React - p. 213 24. Chapter 13. Transitioning to the Create React App Framework - p. 231 25. Chapter 14. Using Web APIs to Obtain Data and Enhance Functionality - p. 247 26. Chapter 15. Architecting React Component Hierarchies - p. 269 27. Chapter 16. Managing State and Complexity in React Component Hierarchies - p. 287 28. Part III. Back-End Development With Node, Express, and MongoDB - p. P3 29. Chapter 17. Making Client Web Apps Accessible to the World - p. 315 30. Chapter 18. Using Node and Express to Build a Web App’s Back End - p. 331 31. Chapter 19. Storing App Data Persistently With MongoDB - p. 355 32. Chapter 20. Architecting Web APIs With Express and MongoDB - p. 381 33. Chapter 21. Authenticating Users - p. 405 34. Chapter 22. Securing API Routes - p. 433 35. Chapter 23. Testing and Documenting Web APIs - p. 457 36. Chapter 24. Implementing and Deploying SpeedScore With a Web API - p. 483 37. Appendix A. How to Clone Chapter Code for Programming Tasks - p. 517 38. Appendix B. Deploying Web Apps to Popular Cloud Platforms - p. 519 39. Appendix C. Team Web Development Capstone Project - p. 537 40. Index - p. 543
Web development is one of the most highly sought after skills in the software industry today. Full-Stack Web Development From the Ground Up: Principles, Practices, and Technologies presents a systematic and modern treatment of this core area of software development, starting with the fundamentals of front-end development using HTML, CSS, and JavaScript; moving to front-end development with React; and culminating in server-side development using Express.js, Node.js, and MongoDB.
Using the widely adopted MERN stack (MongoDB, Express.js, React.js, and Node.js), this undergraduate textbook explores full-stack web development through the step-by-step construction of a pedagogical version of SpeedScore (see https://speedscore.org), a sophisticated full-stack web application that supports the international speedgolf community. The book’s emphasis is not on specific web development technologies, but rather on the underlying concepts, principles, and best practices of web development. This approach lays a solid foundation for students to become proficient web developers who can adapt to the rapidly changing landscape of web development technologies.
1. Title of Book - p. i 2. Cover image - p. i 3. Title page - p. ii 4. Table of Contents - p. iii 5. Copyright - p. iv 6. Author Biography - p. xiii 7. Foreword - p. xv 8. Dedication - p. xvii 9. Preface - p. xix 10. Chapter 1. Welcome to Full-Stack Web Development - p. 1 11. Part I. Front-End Development in HTML, CSS, and Javascript - p. P1 12. Chapter 2. The Front-End Code Behind a Single-Page Web App - p. 23 13. Chapter 3. Creating a Single-Page Web App Framework in HTML and CSS: Semantic HTML and ARIA Roles - p. 41 14. Chapter 4. Creating a Single-Page Web App Framework in HTML and CSS: Part II - p. 53 15. Chapter 5. Bringing a Single-Page Web App to Life With JavaScript: Event Handling and Menus - p. 71 16. Chapter 6. Bringing a Single-Page Web App to Life With JavaScript: Tabs and Modal Dialogs - p. 87 17. Chapter 7. Automated Testing of Client-Side Web Apps - p. 105 18. Chapter 8. Obtaining and Validating User Data With HTML Forms - p. 131 19. Chapter 9. Using HTML Forms: A More Advanced Example - p. 153 20. Chapter 10. Saving User Data Locally - p. 167 21. Chapter 11. Working With Data in Tables - p. 187 22. Part II. Front-End Development in React - p. P2 23. Chapter 12. Welcome to React - p. 213 24. Chapter 13. Transitioning to the Create React App Framework - p. 231 25. Chapter 14. Using Web APIs to Obtain Data and Enhance Functionality - p. 247 26. Chapter 15. Architecting React Component Hierarchies - p. 269 27. Chapter 16. Managing State and Complexity in React Component Hierarchies - p. 287 28. Part III. Back-End Development With Node, Express, and MongoDB - p. P3 29. Chapter 17. Making Client Web Apps Accessible to the World - p. 315 30. Chapter 18. Using Node and Express to Build a Web App’s Back End - p. 331 31. Chapter 19. Storing App Data Persistently With MongoDB - p. 355 32. Chapter 20. Architecting Web APIs With Express and MongoDB - p. 381 33. Chapter 21. Authenticating Users - p. 405 34. Chapter 22. Securing API Routes - p. 433 35. Chapter 23. Testing and Documenting Web APIs - p. 457 36. Chapter 24. Implementing and Deploying SpeedScore With a Web API - p. 483 37. Appendix A. How to Clone Chapter Code for Programming Tasks - p. 517 38. Appendix B. Deploying Web Apps to Popular Cloud Platforms - p. 519 39. Appendix C. Team Web Development Capstone Project - p. 537 40. Index - p. 543