
Learn to build a MERN stack multi-user travel diaries app with login and authentication, and manage diaries with title, description, image URL, location, and date.
Discover the MERN stack—MongoDB, Express.js, React, and Node.js—and see how the backend and frontend connect via APIs.
Describe the backend workflow for a travel diaries app, from user signup and login to creating posts linked to users. Define two MongoDB collections—users and posts—with a one-to-many relationship.
Clone the travel diaries backend from the GitHub repo, install dependencies, and run in development mode to build a middleware API on port 5000 with Express and Mongoose.
Operate a post signup endpoint by extracting body data, validating name, email, and password, creating a new mongoose user, hashing the password, and returning 201 or 422 responses.
Create a post login route in MERN stack backend by locating the user by email, validating the password with compareSync, and returning 404, 401, or 200 with user id.
Design a post model and schema, build routes and controllers, and implement post requests to add and retrieve travel diary posts in a MERN stack app.
Implement a get post by id route that reads the id from the url params, fetches the post by id, returns 200 with the post or 404 if not found.
Learn to implement a put route to update a post by id in a MERN blog, using find by id and update, handle front end data, and return updated status.
Set up a post delete route using the url and controller that finds by id and removes, returning 200 with 'deleted successfully' or 500 with 'unable to delete' on error.
Relate user and post collections with mongoose objectId and ref, enabling one user to own many posts and ensure transactional add and delete across both collections.
design a responsive header and navigation bar with a logo, travel diaries and login links, a carousel image, and a footer with share and view all diaries.
Design and render the home page for the MERN stack travel diaries app, featuring a hero image with overlay text and footer actions to share and view all diaries.
Learn to enhance a travel diaries blog by integrating google fonts (dancing script, quicksand), updating index.css, styling typography and footer, and wiring navigation to diaries and share pages.
Design the diaries page by rendering reusable Material UI cards for each diary entry, fetched from the backend, using a diary item component and a mapped array.
Design a responsive travel diary card layout with flexbox, 50% width and height, padding and shadows, featuring location, date, image, title, description, and edit/delete icons.
Fetch all posts from the backend using Axios and a reusable API helper, then render data in cards with useEffect. Resolve CORS requests by enabling CORS on the backend.
Modify the diaries component to store posts with useState and data.post, then render them by post.map and pass title, description, image, location, and date as props to diary items.
Design and implement an authentication page using Material UI, featuring a login form with name, email, and password, centered with a responsive box, borders, and sign-up toggle.
Master React form handling by toggling sign up and login states, conditionally rendering fields, and capturing name, email, and password with useState and onChange for backend submission.
Dispatch Redux actions after login or signup to update the app state. Store the user id in local storage to persist across refreshes and support future requests.
Learn how to update navigation with redux-based authentication, switching header links for logged-in users, and set up routes for home, diaries, add, and profile.
Design and implement an add blog post form for the MERN stack advanced travel diaries project, using Material UI, typography, and icons to submit posts to the backend.
Build a dynamic add post form for the travel diaries blog by managing a single inputs object with title, description, image URL, URL, location, and date.
Build the update flow for travel diary posts in a MERN stack app: route with post id, fetch details, reuse the edit form, and gate edit/delete to the current user.
Build delete functionality with a Material UI snackbar notification, invoking an axios delete to /post/{id}, and manage snackbar state to reflect the deleted post in the UI.
Adds a backend route to fetch a user by id with populated posts, returns 200 or 404; fetches and displays user details on the profile page.
Design and build a profile page that displays user details and posts, using typography and Material UI, with Redux and local storage based logout and navigation.
Refactor login and signup flows into a single handler that updates local storage and dispatches Redux actions. Enforce protected routes to guard diaries, profile, and ads.
Persist login state with local storage and redux using useEffect to rehydrate on load, then populate user details in backend and render avatar initials and increase diary card height.
Build a full MERN stack travel diaries app with a Node/Express backend, MongoDB collections, bcrypt encryption, and a responsive frontend using React, Redux, and Material UI.
Welcome To The Description!
If you are here then you are making the right choice for your career in Web Development.
In This course, you will learn about building a Social Media Blog Posting Application With MERN Stack
A Travel Diaries Application
Where multiple users can create their travel diary blog and post it.
Any User Can See Any Different User's Blog.
User Can Alter, Delete The Blog
If you want this application to be added to your CV, then this is the perfect application for your resume.
Don't hesitate, if you're having any issues while learning then don't hesitate to connect with me.
NodeJS: Node.js is an open-source, cross-platform, back-end JavaScript runtime environment that runs on a JavaScript Engine and executes JavaScript code outside a web browser, which was designed to build scalable network applications.
Express.JS: Express.js, or simply Express, is a back-end web application framework for building RESTful APIs with Node.js, released as free and open-source software under the MIT License.
ReactJS: React is a free and open-source front-end JavaScript library for building user interfaces based on UI components. It is maintained by Meta and a community of individual developers and companies.
MongoDB: MongoDB is a source-available cross-platform document-oriented database program. Classified as a NoSQL database program, MongoDB uses JSON-like documents with optional schemas. MongoDB is developed by MongoDB Inc. and licensed under the Server Side Public License which is deemed non-free by several distributions
Things You Will Learn Throughout The Project:
ReactJS - Building Professional-Level Applications
Advanced JavaScript - Using localStorage, Promises, async/await, API Calls
NodeJS - Learn How To Build Backend APIs (REST API) With NodeJS
MongoDB - Learn How To Create Applications WIth MongoDB Cloud & Integrate With NodeJS and Handle Multiple Collections (Tables) With Relations and Sessions.
Express - Learn How To Build Applications With Express and Node
Redux - Learn How To Manage Complex States In Redux
MaterialUI - Learn How To Use MaterialUI For Designing Frontend With Responsive Behavior
Responsive Project - Learn How to make Responsive Applications With React
So Don't waste time and enroll
Let's Meet You In The Course