Full-Stack Development from the Ground Up: Principles, Practices, and Technologies addresses the growing need for a comprehensive upper-division computer science textbook that provides in-depth treatment of full-stack web development using the modern web development technologies that students are likely to encounter in industry. Professional full-stack web developers who are capable of developing both the front-end user interfaces and back-end databases and services for dynamic websites are in high demand. The book begins by laying a foundation in HTML, CSS and JavaScript—the building blocks of client-side web development.
It then explores one particular web development stack in detail: MERN, which stands for MongoDB, Express.js, React.js and Node.js. Together, these four technologies provide powerful support for full-stack web development in a single programming language—JavaScript. The crucial final step in the web development process is deploying apps to a server, so users can interact with them. This book simplifies deployment by focusing on just one web deployment environment: Amazon Web Services (AWS), and only those AWS tools that are absolutely necessary to deploy MERN applications.
Key Features
- Takes a hands-on approach to web development, incrementally developing a realistic web application example to motivate and illustrate the concepts and techniques
- Augments coding examples and discussions with links to external web resources that provide additional discussions and perspectives
- Supplemented with a series of live coding videos in which the author walks through, step by step, the implementation of key pieces of a solution
- Provides an appendix that describes best practices for software development (agile development) and a set of tools (Git, GitHub, Kanban boards, online chat) to support those practices
Part I: HTML, CSS, and JavaScript (HCJ)
1. The Anatomy of a Web App
2. Creating a Singe-Page Web App
3. Writing Event handlers and Maintaining App State
4. Logging in users and Presenting Them with Modal Dialogs
5. Testing Client-Side Web Apps
6. Obtaining User Data through Forms
7. Saving User Data in Local Storage
8. Presenting User Data in Tables
9. Supporting Searching, Sorting, and Auto Completion
Part II: React
10. Welcome to React
11. Fetching Data through Web APIs
12. Managing Collections of Components
13. Obtaining User Data through Controlled Forms
14. Transitioning to the Create React App Development Framework
15. Managing Parent Component State
16. Building Reactive Child Components
17. Building Components to Manage User Data
18. Supporting Local User Management
Part III: Node, Express, and MongoDB
19. Serving and Deploying Apps with Express.js
20. Authenticating Users with OAuth
21. Welcome to MongoDB
22. Revisiting Local User Management with Express and MongoDB
23. Completing the MERN Implementation of the Speedgolf App
24. Deploying MERN Apps to the Web
¿¿¿¿¿¿¿Appendix: Team Web Development Project