
Build a full-stack MERN app from concept to production using a cloud-first, API-driven approach, with emphasis on identity management, security, responsive UI/UX, and CI/CD workflows.
The app has been deployed here at https://bit.ly/indiecafe or https://indecafe.netlify.app/
PS: the URL [subdomain] used in the course is taken up by another individual.
Begin from ground zero to build a full stack mern web app, grounding yourself in JavaScript and React basics while coding along and using Git branches for help.
Install and verify essential front-end tools, including node, npm, and Create React App, to scaffold a React project, then set up the landing page and review the project structure.
Integrate bootstrap into the MERN app by installing bootstrap via npm, reset paddings and margins, define primary colors, and apply Roboto Condensed font across the layout.
Design a project logo and brand by integrating an image asset, building a custom logo class, and styling a brand label for a responsive nav bar on the landing page.
Design the main content area within the layout, passing props from layout to main to render dynamic content in flex sections with padding and a green background.
Design a responsive footer component with four columns, flex layout, and centered items; style anchor links with no decoration, color, padding, and rounded bars for a polished, mobile-friendly footer.
The source code is available in the following links.
Added the code changes relevant to the end of this section.
Explore setting up the landing page within the full stack MERN web app, wire it to the layout and navigation using react-router-dom, and propagate props to the main content.
Learn to wire a dynamic landing page in a MERN app by passing props and children through a layout, rendering the main content, and applying conditional backgrounds.
Design and refine the landing page background by adding a new section with a logo, cafe styling, an orange color scheme, a backdrop to emphasize content, plus an explorer button.
Design the catalog for a MERN app by modeling dish data with MongoDB schemas, building a front-end catalog with a cart and online payments, and planning back-end APIs and deployment.
Design robust API error handling for a MERN app using middleware and structured JSON errors. Use an npm package to create errors with status codes and propagate them with next.
Learn to build the post /categories endpoint to create categories, enforce unique names, handle 11000 duplicate key errors, and validate input before persisting to MongoDB.
Explore API input validation in a MERN app by defining category validation schemas, wiring them into controllers, and handling validation errors with meaningful responses.
Practice building a get category by id endpoint in a MERN stack, implementing middleware to fetch a category from Mongo, handle non-existent categories, and respond with clear error messages.
Design and implement a create dish API endpoint in a MERN app, wiring Express routes to a dish controller, define the dish schema, validate input, handle errors, and persist data.
Validate API input data and implement error handling in the MERN full-stack app. Build a clean dish schema with required fields like name, description, price, and category, and manage duplicates.
Learn to build an api endpoint to retrieve a dish photo in a full stack mern app, including request handling, data checks, and testing.
Learn to set up a private GitHub repository for a MERN project, initialize git, push code, and deploy via Heroku with CI/CD integration.
Deploys a full stack MERN app to the cloud with Heroku, configuring env vars, resolving API path issues, and enabling manual or automatic deployment within a CI/CD workflow.
Integrate the UI with the API by building the dishes API, fetching dish data via useEffect, and rendering it in the catalog to populate the digital objects.
The attachment is uploaded with .rb extension, as enforced by udemy platform.
Build a category filter interface for dishes by creating a checkbox list that loads categories from the database via the get category list api and wires into the dish catalog.
Learn to implement category-based filtering by maintaining selected categories in state, triggering server requests to fetch dishes, and updating the UI accordingly.
Display filtered dishes teaches wiring the category filter to the catalog via APIs, debugging category payloads, and updating state to show accurate results when a category is selected.
Build a cart system in a React project: create a cart module, manage add to cart with local storage, ensure unique dishes, and update the cart's dishes and current quantity.
Deploy a full stack mern app to Netlify by connecting two clouds, configuring automatic deployments, linking environments, and moving from previews to live production.
Design and implement the cart component in a MERN app, persist state with local storage, and wire routes and links for catalog-to-cart navigation.
Explore how cors review enforces cross-origin communication in a distributed mern app, configure origin-based access control, and troubleshoot headers between frontend and api infrastructure.
Apply CORS concepts to a full stack MERN app by wiring front end to back end, configuring cross-origin policies, and testing local and remote API deployments for secure interactions.
Learn to manage browser cart data in a MERN app by retrieving items from local storage, computing itemized totals, and updating the cart state for seamless checkout.
Explore how to implement an unauthenticated cart view that pulls items from local storage, displays a dynamic total, and guides users to continue shopping or sign in to check out.
Build the unauthenticated cart view in a full-stack MERN app, displaying dishes, a total with two decimal places, and a sign-in to check out.
Implement cart component UI event handling in a MERN app by adding, increasing, decreasing, and removing items, persisting changes to local storage and updating the cart dynamically.
Deploy the app to Netlify by pushing changes, creating a merge request, and validating a preview deployment. Manage cache and publishing as you verify car components.
Explore identity management with Auth0 as the main identity provider, sign up an application, and follow the quick starts and documentation to enable single sign-on in a MERN stack app.
Design and implement sign in and sign out flows by building React components that redirect on load, using useEffect and zero hook, and wiring sign up and sign out processes.
Create an Auth0 user profile page after login, displaying name, email, and avatar, and store profile data for orders and payments in the database.
Build a user creation API endpoint in a full-stack MERN app, wiring the UI to the API for persistence via Express routes, controllers, and a user model.
Connect the UI to the API to create a user on first login, posting user data to /api/users and validating the Mongo users collection to prevent duplicates.
Implement exactly-once user creation in a mern full-stack app by wiring a post-authentication rule to inject noggins count into the id token, preventing duplicate users and securing the api.
Learn to integrate a MERN API with Auth0 security by configuring token-based authentication, validating JWTs with public keys via Express middleware, and testing secured endpoints using a rest client.
Learn to implement continuous integration for the MERN app by creating branches, opening PRs, and merging to master, enabling automatic deployments to Heroku and Netlify.
Integrate the cart component with auth0 authentication, conditionally render cart content when authenticated, and update item counts and responsive layouts for mobile and desktop, ensuring smooth catalog navigation.
Learn responsive design techniques to adapt the car component for mobile and desktop, using conditional rendering, sliders, and new UI components, while preparing API-backed checkout and address form validation.
Implement continuous integration and deployment to Netlify for a full stack MERN app, managing build, environment, and proxy configs while deploying updated car and cart features.
Implement an API endpoint to capture a user address at checkout, linking a put address route to the user resource and integrating it with the backend and front-end checkout form.
Learn to update the Mongo user model with a nested address object, implement and test update endpoints, and secure them with JWT authentication in a MERN app.
The CheckoutForm component code is present in 'Resources' section.
Connect the address form to the backend by calling the get user address API with the user id and authorization token to prefill the address field.
continues to implement api integration to prefill the address form from authenticated user data, adds full name, enlarges the address box, and iterates on update functionality and user interface tweaks.
Learn to implement api integration for updating a user address using token authentication and axios, including async requests, error handling, and verifying updates via get address calls.
Learn how to implement a continuous deployment pipeline for a mern app by pushing feature branches, merging pull requests, and deploying to Heroku and Netlify.
Master stripe payments in a full stack mern app, including sign up and sandbox vs production modes. Implement checkout to securely create orders and process payments.
Learn to integrate Stripe into a MERN app by wiring server-side charge sessions, keys management, and payment workflows, including creating sessions, payment objects, and order associations.
Test the stripe integration by creating a checkout session, posting order data to /orders, and validating the redirect flow and session object.
Create an order in a MERN stack app by defining the order model, generating an id, tracking items, total, address, and status, and linking it to the user history.
Test and validate the create order flow in a full stack MERN app by wiring orders to users, creating a payment object, and handling axios interceptors and API redirects.
Perform end-to-end testing of the order creation flow from the front end to the back end, validating payments, cart management, cancellation flow, and checkout states through the user interface.
Explore Stripe webhook order fulfillment in a MERN stack workflow, covering asynchronous event handling, currency criteria, fulfillment logic, and testing webhooks via tunneling.
Learn how to complete order fulfilment by wiring order and session data from Stripe through the backend, then compose and send mobile-friendly messages to customers.
Explore api security testing with jwt tokens from auth0, validating user ids and token subjects, and differentiating user versus machine tokens in end-to-end api workflows.
Orchestrate end-to-end testing of order fulfilment in a MERN app by simulating checkout flows, token-based user verification, payment processing, and cloud deployment considerations.
Deploy a full stack mern app to the cloud with ci/cd, manage stripe orders, and configure git, heroku, and single-page app redirects for smooth deployment.
Test order and payment workflows on the cloud by simulating sign-up, cart, checkout, and order capture, then monitor payments and order status from the dashboard.
Enhance the full-stack MERN app by validating end-to-end flows, ensuring mobile responsiveness across iPhone and iPad, and refining the cart with conditional rendering, margins, and item quantity controls.
Fetches a user's orders from the database using the aggregation pipeline, with match, unwind, group, and sort by created_at, then limits to recent orders and returns them via the API.
Wire up the /api/orders endpoint, fetch orders with a token, handle errors, and render a limited 10-order list in the UI for the owners page.
Accordion component is attached to the Resources section
Extend the order detail user interface by adding an order status component. Enable status-driven actions and an order tracker with moment date formatting.
Continue building the MERN app's order UI by adding the order component, order listing, and address display using flexbox for responsive layouts. Implement mobile-friendly tracking cards and order tracker.
Improve a UI component for responsive design by cleaning up the layout, removing extraneous elements, and refining grid columns and horizontal and vertical trackers across panels.
merge pull requests, run checks, and deploy frontend and API changes to the cloud, monitoring builds and live environment updates.
Come let's fall in love with full stack engineering. Build beautiful, feature rich, responsive , modern app with MERN [Mongo, Express, React, Nodejs] stack, handle identity and security concerns like a pro. Unleash the creative genius inside of you. Amp up your productivity by using modern cloud infrastructures such as netlify and heroku. Ready to ride the bleeding edge? Let's build something awesome on the cloud. Stand out from the rest.
The objective of this course, first and foremost is to build a fully functional MERN E commerce app from scratch. Secondly, to equip the learner with a multi dimensional view of app development and deployment in the wild. Ecommerce industry and online shopping is set to grow exponentially in the coming years. So it helps very much to have a good grounding on the same.
This course attempts to provide an end-end perspective by looking into aspects such as identity management, api security based on JWT tokens, system hardening and responsive UI development. By mastering the tools and techniques compiled in this course, I can confidently say the students can raise their level of confidence, expertise and productivity several notches higher.
The course takes the learner through React UI component development, Express APIs on node js, CIAM [customer identity access management] with Auth0 identity platform, Stripe payment workflows and fulfilment.
This course takes a pragmatic approach to architect a modern app that lays emphasis on instant cloud scale with edge deployments, previewing a deploy before publishing, token based security , identity management at scale, performance management and system hardening.
User experience is key to modern web apps. The course touches upon the aspect of responsive UI design implementation. The course goes on to discuss NFRs [non functional requirements] such as rate limiting, security, and performance.
Continuous integration and Continuous deployment [CI/CD], are the underpinnings of fail-fast, iterative paradigms and allow rapid iterations.
We harness the power of best in class cloud based SaaS [software as a service] offerings such as auth0, stripe, twilio, netlify and heroku.
In essence, this course attempts to highlight and provide possible solutions to a spectrum of key concerns related to successful, sustainable modern app architecture. Along the way, the course explores handy tools and techniques to enable iterative, collaborative and rapid progress.
The objective of making this course will be fully met when you leverage the new skills and go on to build something that you always wanted to.