
Demonstrates building a MERN stack movie reviews and recommendations app with login, registration, MongoDB user management, admin CRUD for movies and artists, debounced global search, and live review rating updates.
Set up the front end of the mon stack app by creating a React project with the wheat tool, then explore its setup, framework options, and folder structure.
Learn to install and configure tailwind css in a react app using the wheat setup, including tailwind.config.js and postcss adjustments, with practical styling examples and hot reloading.
Install remaining front-end dependencies, set up Tailwind CSS with the entity component library, and configure a primary color theme using the entity config provider.
Build the front-end authentication module by creating login, register, and home pages, configuring routes with react-router, and implementing an entity form for login styled with index.css and Montserrat.
Develop and align the login and registration screens for the MERN stack movie reviews app, implementing left panel styling, authentication forms, and field types for password inputs.
Learn to connect a node.js server to mongodb using mongoose, environment variables, and atlas, including configuring the connection, handling success and error events, and verifying the setup.
Define the MongoDB user model for a MERN app, including name, profile pic, email, password, is admin, and is active, and outline login, registration, and get user endpoints.
Implement a register api endpoint that checks for existing users by email, hashes passwords with bcrypt, saves the user, and returns a 201 response with message, success, and data.
Build a login API with JWT authentication in a MERN app by validating user credentials with bcrypt and returning a signed token for the frontend.
Configure an Axios API client and proxy for backend authentication. Create a reusable API request with method, endpoint, payload, and query strings, with error handling and header support for tokens.
Learn to build and integrate a register API with a dedicated users.js file, posting to /api/user/register, handle errors with a try catch, show success messages, and navigate to login.
Integrate login by calling back-end APIs from the frontend, handle errors with try/catch, store the JWT token in local storage, and set the authorization header for protected routes.
Solidify authentication in Mern stack app with token-based protection of routes and login redirection when no token exists, and add a shared validation helper and nodemon.json to prevent backend restarts.
Implement a JWT authentication middleware to protect routes in the MERN stack movie reviews app, decrypting tokens, validating bearer, and attaching user id for secure frontend API calls.
Wrap the home page in a protected page and call get current user with the token from local storage to show the user name and protect data.
Master a simple app layout with a top header showing the logged-in user and a profile and home content area, featuring protected pages, login/logout flow, and remix icons for navigation.
Set up redux state management with redux toolkit to globally manage loading spinners during api calls, create the loader slice and store, and access user data across pages.
Learn to implement a Redux-driven loader spinner that appears during API requests, using a dedicated spinner component, centered overlay, and loading state management across protected, login, and registration pages.
Develop the artist model and backend endpoints for the MERN stack app, then design the form and integrate the UI with MongoDB artist data fields.
Implement CRUD operations for the artist resource in a MERN stack app, including add, get all, get by id, update, and delete with auth middleware.
Set up the admin user interface and routes, enabling admin-only access to movies, artists, and users, with protected rendering based on the user's admin status.
Build the artist front-end CRUD with a modal form. Capture name, profession, dob, debut year, debut movie, bio, and profile pic, with validation and form submission.
Implement artist create, read, update, and delete operations in a MERN app by wiring post, get, put, and delete requests to /api/artist, handling loading states and backend validation.
Show artists using an entity table with a data source and columns, render profile pictures, format birth dates, and implement edit and delete actions for each artist.
Implement edit artist functionality by selecting a row to pass the selected artist to the model pop up, pre-populating details and performing update or add operations, then reloading data.
Demonstrates deleting artists in a MERN stack app, with loading states and re-fetching to reflect changes. Highlights sorting by creation date and notes that file upload will be covered next.
Hello and welcome to the course on building a movie review and recommendation app with the MERN stack!
In this course, you will learn how to use a new front-end tool called VITE and compare it with the popular Create-React-App. You will also learn how to work with complex MongoDB queries, schemas, and models.
We will cover how to create separate user interfaces for regular users and admins. To build these interfaces, we will be using a combination of Tailwind CSS for styling purposes and AntD for building UI components.
We will also cover JWT authentication and password hashing using BCrypt. To manage the state of our application, we will use Redux and Redux Toolkit.
For admins, we will cover how to create artists and movies and manage other users in the portal. Only users with admin access will be able to perform CRUD operations on movies and artists.
Once a movie is created, it will be listed on the homepage for normal users. Only basic details such as average ratings and movie information will be displayed on the homepage. To view more information about a movie, users can navigate to the movie info page where they can view details such as cast and crew, posters, and trailers. Users can also submit reviews for a movie on the movie info page. They will be able to update or delete their reviews from their profile.
Whenever there is any activity related to reviews for a movie, the average rating for that movie will be updated in real-time.
We will also cover how to implement user profile updates and password reset functionality.
Finally, we will cover how to push our code to GitHub and host our application on RENDER IO. Throughout the course, we will provide 24/7 Q&A support to help you along the way. Even beginners will be able to understand and follow along with the course content.
Here are some additional advantages of using the MERN stack:
JavaScript is a single language for both frontend and backend: This makes it easier for developers to learn and use the stack, as they only need to learn one language.
The MERN stack is well-supported: There are a large number of resources available for developers who use the MERN stack, including documentation, tutorials, and community support.
The MERN stack is scalable: It can be used to build small, simple web applications as well as large, complex web applications.
The MERN stack is secure: It uses a number of security features, such as authentication and authorization, to protect web applications from attack.
If you are looking for a modern, scalable, and secure web development stack, then the MERN stack is a great option.