000 10320nam a22004693i 4500
001 EBC30618393
003 MiAaPQ
005 20240724115930.0
006 m o d |
007 cr cnu||||||||
008 240724s2023 xx o ||||0 eng d
020 _a9789355510600
_q(electronic bk.)
020 _z9789355510525
035 _a(MiAaPQ)EBC30618393
035 _a(Au-PeEL)EBL30618393
035 _a(OCoLC)1389611342
040 _aMiAaPQ
_beng
_erda
_epn
_cMiAaPQ
_dMiAaPQ
050 4 _aQA76.76.A65 C438 2023
082 0 _a005.3
100 1 _aChaubal, Pinakin Ashok.
245 1 0 _aMastering MEAN Stack :
_bBuild Full Stack Applications Using MongoDB, Express. js, Angular, and Node. js.
250 _a1st ed.
264 1 _aDelhi :
_bBPB Publications,
_c2023.
264 4 _c©2023.
300 _a1 online resource (264 pages)
336 _atext
_btxt
_2rdacontent
337 _acomputer
_bc
_2rdamedia
338 _aonline resource
_bcr
_2rdacarrier
505 0 _aBook title -- Inner title -- Copyright -- Dedicated -- About the Author -- About the Reviewer -- Acknowledgement -- Preface -- Code Bundle and Coloured Images -- Reviews -- Table of Contents -- Chapter 1: Fundamentals of Full Stack Development and the MEAN Stack -- Structure -- Objectives -- What is full stack development? -- Frontend -- Backend -- Database -- Introduction to the MEAN stack -- Our sample application -- Introduction to Node.js -- Introduction to Express.js -- Introduction to MongoDB -- Introduction to Angular -- Introduction to TypeScript and Bootstrap -- Introduction to TypeScript -- Introduction to Bootstrap -- Introduction to Git as a version control system -- Interaction between components of the MEAN stack -- Introduction to Docker and Kubernetes as deployment tools -- Conclusion -- Questions -- Chapter 2: Architectural Design of Our Sample Applic ation -- Structure -- Objectives -- What are single-page applications? -- Advantages of SPA -- Disadvantages of SPA -- What are multi-page applications? -- Advantages of multi-page applications -- Disadvantages of multi-page applications -- Single-page v/s multi-page applications -- Common MEAN stack architecture -- Going with the event-driven approach -- Best practices for designing an API -- Working with the singleton pattern -- Working with the Observer pattern -- Designing a flexible architecture -- Differences between the architecture of an application in the dev and prod environment -- Conclusion -- Questions -- Chapter 3: Installing the Components -- Structure -- Objectives -- Installing the Node.js runtime -- Installing the Node.js on Windows -- Installing the Node.js runtime on macOS -- Installing the Node.js runtime on Linux -- Creating the project folder -- Installing the Angular-CLI -- Creating a new Angular project -- Installing Angular Material.
505 8 _aVerifying that Angular works -- Exploring the project structure -- Scanning the package: json file -- The node_modules folder -- Looking at the app folder -- Starting an Angular application -- Conclusion -- Questions -- Chapter 4: Creation of the Frontend Using Angular -- Structure -- Objectives -- Understanding the folder structure -- Working with components -- General component structure of an Angular app -- Component structure for our application -- Creation of Nav Bar component -- Looking at the nav-bar.component.ts -- Looking at the nav-bar.component.html -- Routing in Angular -- Routing module -- Few Routing directives -- The RouterLink directive -- The RouterLinkActive directive -- The RouterLinkActiveOptions directive -- Implementing the Home page -- Looking at the Home component's TypeScript code -- Looking at the Home component's HTML code -- Implementing the Register page -- Looking at the Register component's TypeScript code -- Looking at the Register component's template code -- Getting input from the user -- Angular Material -- Conclusion -- Questions -- Chapter 5: Addition of Node.js and Ideas for Integration -- Structure -- Objectives -- Understanding an API -- Verbs used in building REST APIs -- Creating the posts and comments projects -- Creating the posts project -- Creating the comments project -- Testing of the services -- Testing the posts service -- Testing the comments service -- Ideas of connecting with frontend -- Conclusion -- Questions -- Chapter 6: Handling Authorization -- Structure -- Objectives -- Introducing the authentication service -- Introduction to Google Cloud -- What is a Kubernetes cluster? -- Creating a Google Cloud account -- Creating a new project -- Setting up a Kubernetes cluster -- Creating an auth docker build -- Creating a .dockerignore file -- Creating an authentication deployment.
505 8 _aKey elements of a deployment -- Key elements of a service -- Introducing MongoDB and creating an auth Mongo deployment -- Building a user model -- Creating index.ts -- Creating an Ingress service yaml -- Creating an Ingress load balancer -- Creating a Kubernetes Secret -- Using Skaffold for build automation -- Introduction to middleware -- Introduction to cookies and JSON web tokens -- Password encryption -- Error handling using express-validator -- Understanding an error-handler -- Understanding the current-user -- Understanding validate-request.ts -- Understanding require-auth.ts -- Creating an abstract class for custom error handling -- Creating subclasses for validation -- Understanding request-validation-err.ts -- Understanding database-connection-err.ts -- Understanding bad-request-err.ts -- Understanding not-found-err.ts -- Understanding no-auth-err.ts -- Separating the logic for routes -- Creating Signup, Signin and CurrentUser routes -- Signup route -- Signin route -- CurrentUser route -- Signout route -- Testing the application using Postman -- Conclusion -- Questions -- Chapter 7: Creating the Posts Service and NATS Streaming Integration -- Structure -- Objectives -- Introducing the common module -- Creating a GIT repository for the common module -- Publishing the common module to NPM -- Installing required packages in the common module -- Making changes to package.json and tsconfig -- Making changes to package.json -- Changes to tsconfig -- Moving the authentication logic in the common module -- Installing the common module in the auth folder -- Standard process for new services -- The Posts service -- Creating the Posts folder -- Updating the index.ts -- Creating the Posts deployment YAML -- Creating the Posts Mongo DB deployment YAML -- Making changes to the Skaffold YAML -- Looking at the Auth deployment YAML.
505 8 _aLooking at the Auth index.ts -- Creating the Posts service -- Creating a new Post -- Updating an existing Post -- Displaying all Posts -- Displaying a specific Post -- Creation of the nats-wrapper class -- Creation of the Posts model -- Introduction to the NATS streaming server -- Creating the NATS deployment file -- Creating a basic publisher and listener ts files -- The Test Publisher -- The Test Listener -- Understanding the BaseListener and PostCreatedListener -- The base-listener class -- The post-created-listener class -- Understanding the BasePublisher, PostCreatedPublisher and PostUpdatedPublisher -- The base-publisher class -- The post-created-publisher class -- The post-updated-publisher class -- Understanding the PostCreatedEvent and the PostUpdatedEvent -- The PostCreatedEvent -- Understanding the PostUpdatedEvent -- Understanding the subjects enum -- Updating the common module -- Testing the publisher and listener -- Testing out the Posts service using Postman -- Conclusion -- Questions -- Chapter 8: Introducing Automated Testing -- Introduction -- Structure -- Objectives -- Introducing SuperTest -- Setting up automated testing -- The index.ts refactor for Auth service -- Setup for Auth service -- Designing the tests for the Auth Service -- Tests for Signup route handler -- Tests for Signin route handler -- Tests for current user route handler -- Tests for Signout route handler -- Executing the tests for the Auth Service -- The index.ts refactor for the POST service -- Setup for the POST service -- Designing the tests for the Posts Service -- Tests for createPost route handler -- Tests for the updatePost route handler -- Tests for the indexPost route handler -- Tests for the showPosts route handler -- Executing the tests for the Posts Service -- Conclusion -- Questions -- Chapter 9: Integrating the Comments Service -- Introduction.
505 8 _aStructure -- Objectives -- Comments service -- Nesting comments inside posts -- Pros and cons of nesting -- What are sub-documents? -- Pros and cons of sub-documents -- What are references? -- Advantages of references -- Conclusion -- Questions -- Chapter 10: Creating the Comments Service -- Structure -- Objectives -- Comments service -- Comments and comments Mongo YAMLs -- Changes to ingress yaml -- Duplicating the comments model inside the post -- Referencing the comments model inside the post model -- Editing the routes -- The createPost route -- The updatePost route -- Updates to the te -- Changes to the createPost test -- Changes to the updatePost test -- Executing the tests -- Conclusion -- Questions -- Chapter 11: Implementing the Frontend -- Introduction -- Structure -- Objectives -- What is the App component? -- Nesting other components inside the app component -- What are components and services? -- Components -- Services -- Looking at the register component -- Register.component.html file -- Register.component.ts file -- Auth Service -- Running the app -- Conclusion -- Questions -- Index -- Back title.
588 _aDescription based on publisher supplied metadata and other sources.
590 _aElectronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2024. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries.
650 0 _aApplication software-Development.
650 0 _aApplication program interfaces (Computer software).
655 4 _aElectronic books.
776 0 8 _iPrint version:
_aChaubal, Pinakin Ashok
_tMastering MEAN Stack
_dDelhi : BPB Publications,c2023
_z9789355510525
797 2 _aProQuest (Firm)
856 4 0 _uhttps://ebookcentral.proquest.com/lib/orpp/detail.action?docID=30618393
_zClick to View
999 _c36241
_d36241