Book Image

MEAN Blueprints

By : Robert Onodi
Book Image

MEAN Blueprints

By: Robert Onodi

Overview of this book

The MEAN stack is a combination of the most popular web development frameworks available—MongoDB, Angular, Express, and Node.js used together to offer a powerful and comprehensive full stack web development solution. It is the modern day web dev alternative to the old LAMP stack. It works by allowing AngularJS to handle the front end, and selecting Mongo, Express, and Node to handle the back-end development, which makes increasing sense to forward-thinking web developers. The MEAN stack is great if you want to prototype complex web applications. This book will enable you to build a better foundation for your AngularJS apps. Each chapter covers a complete, single, advanced end-to-end project. You’ll learn how to build complex real-life applications with the MEAN stack and few more advanced projects. You will become familiar with WebSockets and build real-time web applications, as well as create auto-destructing entities. Later, we will combine server-side rendering techniques with a single page application approach. You’ll build a fun project and see how to work with monetary data in Mongo. You will also find out how to a build real-time e-commerce application. By the end of this book, you will be a lot more confident in developing real-time, complex web applications using the MEAN stack.
Table of Contents (13 chapters)
MEAN Blueprints
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface
Index

Index

A

  • access, contact manager application
    • granting / Granting access to our application
    • AuthService / AuthService
    • sign-in component, using / User sign-in component
    • custom HTTP service / Custom HTTP service
  • admin section, e-commerce application
    • about / The admin section
    • admin micro app / The admin micro app
    • auth module, changing / Changing the auth module
    • products administration / Products administration
    • product service / The product service
    • list products / List products
    • main product component / The main product component
    • product, adding / Add and edit a product
    • product, editing / Add and edit a product
    • order handling / Order handling
    • orders, handling / Retrieving orders
    • orders, viewing / View and update orders
    • orders, updating / View and update orders
  • Angular app, chat application
    • bootstrapping / Bootstrapping the Angular app
    • boot file / The boot file
    • app component / App component
  • Angular client application, expense tracker
    • implementing / Implementing the Angular client application
    • project, bootstrapping / Bootstrapping the project
  • API, e-commerce application
    • exposing / Exposing an API
    • api class / The Api class
    • product controller / Product controller
    • product router / Product router
  • application routes, contact manager application
    • securing / Securing your application routes
    • password helper, describing / Describing the password helper
    • password helper, implementing / Implementing the password helper
    • user Mongoose schema, creating / Creating the user Mongoose schema
    • authentication method, describing from user model / Describing the authentication method from the user model
    • authentication method, implementing / Implementing the authentication method
    • authentication routes / Authentication routes
  • application services, chat application
    • about / Application services
    • user service / User service
    • thread service / The thread service
    • message service / The message service
  • auction application
    • base app, setting up / Setting up the base app
    • GitHub, URL / Setting up the base app
    • building / What we are building
    • reserve price / What we are building
    • data modeling / Data modeling
    • auction backend / Auction backend
    • frontend services / Frontend services
    • auction module / The Auction module
    • bid module / The bid module
  • auction backend, auction application
    • about / Auction backend
    • mediator / The Mediator
    • auction manager / Auction manager
    • auctioneer / Auctioneer
    • service, using from controller / Using the service from controller
    • data, accessing from e-commerce API / Accessing data from the e-commerce API
    • e-commerce client service / E-commerce client service
  • auction module, auction application
    • about / The Auction module
    • base component / The base component
    • auction list / The auction list
    • detail page / The detail page
  • authentication routes, contact manager application
    • about / Authentication routes
    • describing / Describing the authentication routes
    • passport, integrating / Integrating Passport
    • implementing / Implementing the authentication routes
  • Auth micro app, e-commerce application
    • about / The Auth micro app
    • class, defining / Defining the class
    • controller / The controller

B

  • backend chat service, chat application
    • about / Backend chat service
    • implementing / Chat service implementation
    • instant messaging module / Instant messaging module
  • bid module, auction application
    • about / The bid module
    • bids, listing / Listing bids
    • bid component / The bid component

C

  • categories module, expense tracker
    • about / The categories module
    • categories service / Category service
    • categories component / The categories component
    • new category, creating / Create a new category
    • categories, listing / List all categories
    • category component / The category component
  • chat application
    • base application, setting up / Setting up the base application
    • project, cloning / Setting up the base application
    • user model, modifying / Modifying the user model
    • message history data model / The message history data model
    • thread backend / Thread backend
    • backend chat service / Backend chat service
    • Angular app, bootstrapping / Bootstrapping the Angular app
    • custom data types / Custom data types
    • application services / Application services
    • chat component / The chat component
    • user list component / The user list component
    • threads, displaying / Displaying threads
    • messaging / Messaging
  • company, job board application
    • creating / Creating a new company
    • service / The company service
    • component, creating / Creating a company component
  • company backend module, job board application
    • about / The company backend module
    • company model / The company model
    • company controller / The company controller
    • company, creating / Creating a company
    • company, getting by ID / Getting a company by ID
    • companies, getting / Getting all companies
    • company, updsting / Updating a company
    • company member, adding / Adding a company member
    • company member, removing / Removing a company member
    • company routes / Company routes
  • contact manager application
    • base application, setting up / Setting up the base application
    • contacts, managing / Managing contacts
    • application routes, securing / Securing your application routes
    • Angular 2, integrating / Integrating Angular 2 into our application
    • access, granting / Granting access to our application
    • contact module / The Contact module
    • finishing / Finishing touch
  • contact manager application, base application
    • about / Setting up the base application
    • folder structure / Folder structure
    • server-side package.json / Server-side package.json
    • first application file / The first application file
    • Express configuration file, creating / Creating the Express configuration file
    • mocha, setting up for testing / Setting up mocha for testing
    • Mongoose, setting up / Setting up Mongoose
  • contact module, contact manager application
    • about / The Contact module
    • contact service / Contact service
    • contact component / Contact component
    • contact component, list / List contacts component
    • contact component, creating / Creating a contact component
    • existing contact, editing / Editing an existing contact
  • contact routes, contact manager application
    • implementing / Implementing the contact routes
    • endpoints, adding / Adding all endpoints
    • contact, finding by ID / Finding a contact by ID
    • contacts information, getting / Getting contact information
    • contact, updating / Updating a contact
    • contact, removing / Removing a contact
    • acess, restricting / Restricting access to contacts routes
  • contacts, contact manager application
    • managing / Managing contacts
    • contact mongoose schema, creating / Creating the contact mongoose schema
    • route, describing / Describing the contact route
    • creating / Creating a contact
    • getting / Getting contacts
    • getting, by ID / Getting a contact by ID
    • updating / Updating a contact
    • removing / Removing a contact
    • tests, running / Running our tests, Running the contact test
    • routes, implementing / Implementing the contact routes
  • core Service Layer, e-commerce application
    • about / The core Service Layer
    • product catalog / The product catalog
    • inventory manager / The inventory manager
    • shopping cart / Shopping cart
  • custom data types, chat application
    • about / Custom data types
    • user type / User type
    • thread type / Thread type
    • message type / Message type

D

  • data modeling, auction application
    • about / Data modeling
    • auction / Auction
    • bidder / Bidder
  • data modelling, e-commerce application
    • custom money data type / Custom money data type
    • product model / The product model
    • order model / The order model
    • inventory model / The inventory model

E

  • e-commerce application
    • base application / Setting up the base application
    • data modelling / Data modeling
    • core Service Layer / The core Service Layer
    • Auth micro app / The Auth micro app
    • API, exposing / Exposing an API
    • shared resources / Shared resources
    • admin section / The admin section
    • Storefront, building / Building the Storefront
  • expenses, expense tracker
    • tracking / Tracking expenses
    • monetary values / Monetary values
    • category model / The category model
    • categories routes / Categories routes
    • category, getting by ID / Getting the category by ID
    • category, creating / Creating a category
    • one and all categories, getting / Getting one and all categories
    • category, updating / Updating and deleting a category
    • category, deleting / Updating and deleting a category
    • expense model, defining / Defining the expense model
    • expense module functionality / Describing the expense module functionality
    • CRUD operations / CRUD operations for expenses
    • creating / Create expense
    • getting, by ID / Get expense by ID
    • one expense, getting / Get one expense
    • all expenses, getting / Get all expenses
    • updating / Update expense
    • deleting / Delete expense
    • balance, getting / Getting the expense balance
  • expenses module, expense tracker
    • about / The expenses module
    • expense service / Expense service
    • expenses, filtering / Filter expenses
    • new expense, adding / Add a new expense
    • list, displaying / List expenses
    • balance, displaying / Display balance
    • expenses component / Expenses component
  • expense tracker
    • base application, setting up / Setting up the base application
    • user section, setting up / Setting up the user section
    • users, authenticating / Authenticating users
    • about / Tracking expenses
    • Angular client application, implementing / Implementing the Angular client application
    • users, registering / Registering users
    • sign-in-user component / Sign-in-user component
    • common functionalities / Common functionalities
    • custom HTTP service / Custom HTTP service
    • single export file, using / Using a single export file
    • categories module / The categories module
    • expenses module / The expenses module
  • expense tracker, base application
    • about / Setting up the base application
    • dependencies, installing / Installing the dependencies
    • base configuration files, creating / Creating the base configuration files
    • main server.js file, creating / Creating the main server.js file
  • Express configuration file / Creating the Express configuration file

F

  • frontend services, auction application
    • about / Frontend services
    • auction service / Auction service
    • socket service / The socket service
    • bid service / The bid service
    • bidder service / The bidder service

J

  • job applications, job board application
    • about / Job applications, Applying for a job
    • model / The application model
    • controller logic / Controller logic
    • given application, finding by ID / Finding a given application by ID
    • getting / Getting all job applications
    • updating / Updating an application
    • removing, from job / Removing an application from a job
  • job backend module, job board application
    • about / The job backend module
    • job model / The job model
    • job controller / Adding a new job for a company
    • new job, adding for company / Adding a new job for a company
    • job, finding by ID / Finding a job by ID
    • jobs, getting / Getting all jobs
    • specific job, updating / Updating a specific job
    • job routes / Job routes
    • one and all jobs, getting / Getting one and all jobs
    • routes, creating / Creating a route
    • route, updating / Updating a route
  • job board application
    • base application / Setting up the base application
    • URL / Setting up the base application, Extra models
    • user backend, modifying / Modifying the user backend
    • company backend module / The company backend module
    • job backend module / The job backend module
    • job applications / Job applications
    • new company, creating / Creating a new company
    • companies, displaying / Displaying companies
    • job module / The job module
    • company, details / Company details
  • job module, job board application
    • job service / The job service
    • job base component / The job base component, The jobs component
    • job list component / The job list component
    • job details / Job details
    • new jobs, adding / Adding new jobs

M

  • message history data model, chat application
    • about / The message history data model
    • thread schema / The thread schema
    • message schema / The message schema
  • messaging, chat application
    • about / Messaging
    • messages, sending / Sending messages
    • message component / The message component
    • message list component / The message list component
  • mocha
    • setting up, for testing / Setting up mocha for testing
  • Mongoose
    • setting up / Setting up Mongoose
    • schema, creating / Creating the user Mongoose schema

S

  • socketIO
    • URL / Backend chat service
  • Storefront, e-commerce application
    • building / Building the Storefront
    • micro app / Storefront micro app
    • pages / Storefront pages
    • main layout / Main layout
    • list products / List products

T

  • thread backend, chat application
    • about / Thread backend
    • thread controller / Thread controller
    • routes, defining / Defining routes
    • message controller / Message controller
  • threads, chat application
    • displaying / Displaying threads
    • component / Thread component
    • thread list component / Thread list component

U

  • user backend, job board application
    • modifying / Modifying the user backend
    • user model, modifying / Modifying the user model
    • authorization policy / An authorization policy
  • user profile, job board application
    • about / User profile
    • backend logic / Profile backend
    • profile data, synchronizing / Synchronizing profile data
    • profile data, editing / Editing profile data
    • profile block component / The profile block component
    • extra models / Extra models
  • users, expense tracker
    • authenticating / Authenticating users
    • authentication strategies / Describing the authentication strategies
    • token generation, implementing / Implementing the token generation
    • tokens, persisting in MongoDB / Persisting tokens in MongoDB
    • HTTP Basic, used for authentication / Authentication using HTTP Basic
    • authentication routes, adding / Adding authentication routes
    • verifying, bearer authentication used / Verifying users using bearer authentication
    • bearer strategy / Bearer strategy
    • resources protecting, tokens used / Protecting resources using tokens
    • registering / Registering users
    • auth service / The auth service
    • register component / Register component
  • user section, expense tracker
    • about / Setting up the user section
    • user model / Describing the user model
    • user model, implementing / Implementing the user model