MEN Stack Referencing Related Data Openhouse

About

This module is all about building a robust MEN (MongoDB, Express.js, Node.js) stack application. We’ll be creating “OpenHouse,” a real estate app that allows users to keep track of and favorite property listings. Throughout this code-along, you’ll learn about referencing related data within user models using Mongoose and MongoDB. Additionally, this module guides you through styling your application, helping you create a polished, portfolio-worthy project. Designed for intermediate learners with a background in full-stack JavaScript development, “OpenHouse” offers practical experience in managing data relationships in full stack web applications.

Open House Landing Page

Content

Lesson Skills
Setup Setting up the development environment.
Setting the Stage Developing User Stories and an ERD.
Build the Listing Model Creating a model for the listing resource.
Build and Use the Listings Controller Require and mount a controller file.
Add Route Middleware Create middleware to check authentication and pass user data to the view.
Build the Listings Landing Page Construct a landing page for a resource.
Build the Navigation Bar Partial Create NavBar partials.
Build the New Page Construct a New page view with a form for user input.
Build Create Functionality Implementing create functionality.
Add Index Functionality to the Listings Landing Page Applying the populate() method to index functionality.
Build the Show Page Displaying a single resource on its own page.
Build Delete Functionality Securely deleting a resource with protected controller actions.
Build the Edit Page Building an edit view.
Build Update Functionality Securely updating a resource with protected controller actions.
Add Favorites to the Listing Schema Implementing many-to-many relationships in MongoDB.
Add Favorites Functionality to the Show Page Implementing the functionality to favorite a resource.
Add Unfavorite Functionality to the Show Page Implementing the functionality to unfavorite a resource.
Wrap Up Review of key concepts
Formatting Currency Formatting currency in JavaScript.
Viewing a User’s Favorite Listings Displaying related user data.
Style the Application Adding CSS to style the application

References

📖 Reference Materials