Mern Stack Mastery - Build E-Book Selling/Reading Platform
Published 8/2024
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 22.24 GB | Duration: 35h 42m
Published 8/2024
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 22.24 GB | Duration: 35h 42m
Master MERN Stack by Building an E-Book Platform from Scratch. Learn React and Express API for Full-Stack Development.
What you'll learn
Master the MERN stack: MongoDB, Express, React, and Node JS
Implement role based authentication for user and author.
Create a responsive UI using React and Tailwind CSS.
Enable authors to upload and manage their books.
Upload books using AWS or directly via Node JS
Process secure payments and handle purchases with Stripe.
Add and display user reviews and ratings for books.
Generate personalized book recommendations using MongoDB.
Implement a seamless reading experience in the React app.
Track reading progress, highlights, and history for users.
Send magic link emails for passwordless login and verification.
Requirements
Basic Understanding of HTML CSS and JavaScript
Description
Unlock the power of full-stack development with our comprehensive course, "MERN Master Stack - Build E-Book Selling/Reading Platform." This course is designed to guide you through building a feature-rich e-book platform using the MERN stack. Whether you're an aspiring web developer or an experienced programmer, you'll gain hands-on experience and valuable skills to master both front-end and back-end development.Tools Used In This Course: Node JS, Express, TypeScript, MongoDB (Mongoose), AWS, Cloudinary, Mailtrap, Stripe, React, Redux ToolKit, Tailwind CSS, Next UI, TipTap etc. What You'll Learn:Complete MERN Stack Mastery: From MongoDB to Express.js, React, and Node.js, you'll dive deep into each technology, mastering the essentials of full-stack development. User and Author Registration: Learn to implement robust password less role based authentication and authorization features, allowing users to register as either normal users or authors.Dynamic User Interface: Create a beautiful, responsive UI using React and Tailwind CSS. Enable users to browse the catalog seamlessly and discover new e-books.Author Capabilities: Teach authors how to manage their books, including uploading new content, updating existing books, and handling other essential tasks.Book Management: Discover how to upload and manage books, either through AWS or directly via Node.js for those without an AWS account.Purchasing and Reviews: Implement secure checkout and payment processing using Stripe. Enable users to purchase books, leave reviews, and rate content.Personalized Recommendations: Leverage MongoDB aggregation to generate personalized book recommendations based on user reviews and preferences.Reading Experience: Allow users to read purchased books within the React app, with features like saving highlights, tracking the last page visited, and maintaining a reading history for a seamless experience.Magic Link Email Notifications: Learn to send magic links to users' registered emails using industry-standard tools. These links provide a seamless login experience and can be utilized for various purposes, such as passwordless authentication and account verification.By the end of this course, you'll have built a fully functional e-book platform and gained the skills needed to tackle any web development project. You'll understand how to integrate front-end and back-end technologies seamlessly, manage databases, handle authentication and authorization, and much more.Join us and become a MERN stack master, ready to take on the world of web development!
Overview
Section 1: Environment Setup
Lecture 1 App Tour
Lecture 2 Node JS (Windows)
Lecture 3 Database - MongoDB (Windows)
Lecture 4 Editor - VS Code (Windows)
Lecture 5 TypeScript (Windows)
Lecture 6 Node JS (MAC)
Lecture 7 Editor - VS Code (MAC)
Lecture 8 TypeScript (MAC)
Lecture 9 GitHub (MAC)
Lecture 10 MongoDB (MAC)
Section 2: Basic Project Setup
Lecture 11 Want to Start Directly With React?
Lecture 12 Before You Start
Lecture 13 npm
Lecture 14 npm init
Lecture 15 ts-config
Lecture 16 Understanding Commands
Lecture 17 GitHub (WINDOWS)
Lecture 18 Using GitHub
Section 3: Server Basics
Lecture 19 Server & Client
Lecture 20 Basic Express Server
Lecture 21 Environment Variables
Lecture 22 VS Code Extensions
Section 4: Authentication & Authorization
Lecture 23 The First Route
Lecture 24 Post Request
Lecture 25 Reading Incoming Data
Lecture 26 Middleware
Lecture 27 Validation With Middleware
Lecture 28 Zod
Lecture 29 Zod Middleware
Lecture 30 Random Tokens
Lecture 31 Database Connection
Lecture 32 Verification Token Model
Lecture 33 User Model
Lecture 34 Storing Verification Token
Lecture 35 Encrypted Token
Lecture 36 Sending Email
Lecture 37 Send Mail Refactor
Lecture 38 Error
Lecture 39 Async Errors
Lecture 40 Verifying Token Part 1
Lecture 41 Verifying Token Part 2
Lecture 42 JSON Web Token - jwt
Lecture 43 Storing Auth Token Inside Cookie
Lecture 44 Authorization
Lecture 45 Verifying Auth Token
Lecture 46 Reading Cookies
Lecture 47 Finding User From Token
Lecture 48 JWT Errors
Lecture 49 Logout
Section 5: File Uploads
Lecture 50 Before Uploading Files
Lecture 51 Reading Incoming File Part 1
Lecture 52 Reading Incoming File Part 2
Lecture 53 Update Profile Part 1
Lecture 54 Update Profile Part 2
Lecture 55 Next Video Alert
Lecture 56 Upload File (Avatar) Cloudinary
Lecture 57 Removing Previous File
Lecture 58 AWS Alert
Lecture 59 AWS S3 Bucket
Lecture 60 New IAM User
Lecture 61 Uploading File (Avatar) to S3 Bucket
Lecture 62 Removing File From S3 Bucket
Lecture 63 AWS Function Refactor
Lecture 64 Next Video Alert
Lecture 65 New Profile Response
Lecture 66 Simple But IMPORTANT Fix
Section 6: Authors
Lecture 67 Author Route
Lecture 68 Author Model
Lecture 69 Author Validation
Lecture 70 Custom Request Handler Type
Lecture 71 Creating New Author Part 1
Lecture 72 Creating New Author Part 2
Lecture 73 Getting Authr Details
Section 7: New Book
Lecture 74 Book Model
Lecture 75 Easy Peasy Book Validation
Lecture 76 Not an Easy Validation
Lecture 77 File Info Validation
Lecture 78 Book Router
Lecture 79 Creating New Book
Lecture 80 Next Video Alert
Lecture 81 Uploading Book Cover - Cloudinary
Lecture 82 Serving Files From Node API
Lecture 83 Saving File Using Formidable
Lecture 84 Saving Book File to Local Directory
Lecture 85 Creating New Book
Lecture 86 AWS Alert
Lecture 87 Upload Book Cover AWS
Lecture 88 The Issue
Lecture 89 AWS Cover Upload Refactor
Lecture 90 Signed URL
Lecture 91 Signing Upload URL
Lecture 92 Download Epub Books for Testing
Lecture 93 Uploading to Private Bucket
Lecture 94 Creating New Book AWS
Lecture 95 Fixing Issues
Lecture 96 Watch From Here
Lecture 97 An Important Refactor
Section 8: Update Book
Lecture 98 Book Update Route
Lecture 99 Updating Common Part
Lecture 100 File Update (Local Dir)
Lecture 101 Cover Update (Local Dir)
Lecture 102 File Update (AWS)
Lecture 103 Cover Update (AWS)
Lecture 104 Lets Come Together
Section 9: Review
Lecture 105 Review Router Setup
Lecture 106 Review Model
Lecture 107 Review Validator
Lecture 108 Adding Review
Lecture 109 Is Purchased By The User
Lecture 110 Getting Review
Lecture 111 Adding Lots of Reviews
Lecture 112 Aggregation
Lecture 113 Average Rating
Section 10: History
Lecture 114 History Model
Lecture 115 History Route Setup
Lecture 116 History Validation
Lecture 117 Storing History
Lecture 118 Fixing Type
Lecture 119 Updating History
Lecture 120 Get Book History
Section 11: Book Access Routes
Lecture 121 Getting All The Purchased Books
Lecture 122 Getting Single Book Details
Lecture 123 Getting Public Reviews
Lecture 124 Getting Books By Genre
Lecture 125 Book Access URL Common
Lecture 126 Book Access URL AWS
Lecture 127 Book Access URL Local
Lecture 128 Common Ground
Lecture 129 One More Author Route to Update
Section 12: Cart
Lecture 130 Cart Route Setup
Lecture 131 Cart Model
Lecture 132 Cart Validation
Lecture 133 Update Cart
Lecture 134 Get Cart
Lecture 135 Update Cart - Fixed
Lecture 136 Clear Cart
Section 13: Handling Payments
Lecture 137 How to Accept Payment
Lecture 138 Stripe CLI
Lecture 139 Checkout Route
Lecture 140 Price In Cents
Lecture 141 Stripe Session
Lecture 142 Stripe Customer
Lecture 143 Stripe Image Error
Lecture 144 Webhook
Lecture 145 Stripe Events
Lecture 146 Order Model
Lecture 147 Creating New Order
Lecture 148 Finalizing Payment
Lecture 149 Testing One More Time
Lecture 150 Instant Checkout
Lecture 151 Testing Instant Checkout
Lecture 152 Getting Orders
Lecture 153 Order Status
Lecture 154 Order Success Status
Lecture 155 Order Success Testing & Fix
Section 14: Recommendation
Lecture 156 Review Generator
Lecture 157 Creating Bunch Of Reviews
Lecture 158 Get Recommended Part 1
Lecture 159 Get Recommended Part 2
Lecture 160 Formatting Result
Lecture 161 Recommended Controller Fixed
Section 15: The Final API
Lecture 162 Get The Final Sourse Code Here.
Section 16: Basic React Course
Lecture 163 React
Lecture 164 React Project Setup
Lecture 165 Basic Styling
Lecture 166 Publishing Code To GitHub
Lecture 167 Tailwind CSS
Lecture 168 Basic Styling Tailwind
Lecture 169 States
Lecture 170 Submit Events
Lecture 171 Custom Component
Lecture 172 Custom Snippets VS Code
Lecture 173 State VS Local Variable
Lecture 174 Rendering With Map
Lecture 175 Custom ToDoItem
Lecture 176 Error & Validation
Lecture 177 React Router
Lecture 178 Home Page Refactor
Lecture 179 Dynamic Route
Lecture 180 Link Component
Lecture 181 Context API
Lecture 182 Custom Hook
Lecture 183 Updating Tasks
Lecture 184 Local Storage
Lecture 185 use Effect Hook
Lecture 186 Removing Tasks
Section 17: React - Basic Project Setup
Lecture 187 Vite
Lecture 188 Next UI
Lecture 189 React Router Setup
Lecture 190 Common Container
Lecture 191 Navbar
Lecture 192 Profile Menu
Section 18: Authentication
Lecture 193 Sign Up Page
Lecture 194 Sign Up Form State
Lecture 195 Sending Request to API
Lecture 196 CORS Policy Error
Lecture 197 Little For User Experience
Lecture 198 Verification Page Part 1
Lecture 199 Verification Page Part 2
Lecture 200 New User Form
Lecture 201 New User Form States
Lecture 202 Local File URL
Lecture 203 Submitting New User Form
Lecture 204 New User Validation
Section 19: Managing Multiple States
Lecture 205 Setting Redux Toolkit
Lecture 206 Auth Store
Lecture 207 Auth State
Lecture 208 Dispatching Action
Lecture 209 Auth Provider
Lecture 210 Reading From Store
Lecture 211 Changing Auth Status
Lecture 212 Rendering Profile Menu
Lecture 213 Loading Spinner
Lecture 214 Sign Out
Lecture 215 Better Way to Render Error
Lecture 216 Fixing Parse Error Method
Lecture 217 Lets Use Lint
Section 20: Profile Page
Lecture 218 Profile Page
Lecture 219 Profile Page UI
Lecture 220 Profile Update
Lecture 221 Guest / Private Route
Section 21: Creating New Book
Lecture 222 Book Form
Lecture 223 Book Form UI
Lecture 224 Poster Selector
Lecture 225 Next Video is optional
Lecture 226 Rich Text Editor
Lecture 227 Final Rich Text Editor
Lecture 228 Book Form State
Lecture 229 File Input Change
Lecture 230 Date Input Change
Lecture 231 Fixing Warnings
Lecture 232 Book Form State Auto Complete
Lecture 233 Making The Final Data Ready
Lecture 234 Validation Part 1
Lecture 235 Validation Part 2
Lecture 236 Validation Part 3
Lecture 237 Rich Text Editor Change Event
Lecture 238 Rendering Errors
Lecture 239 Rendering File Selection Error
Lecture 240 Making The Form Data Ready
Lecture 241 Creating New Book
Lecture 242 Uploading File To AWS
Lecture 243 Resetting Form
Section 22: Updating Book
Lecture 244 Fetching Book Info
Lecture 245 Initial Form State
Lecture 246 Fixing Price
Lecture 247 Updating Book
Section 23: Become an Author
Lecture 248 Option to Became an Author
Lecture 249 Author Form Part 1
Lecture 250 Author Form Part 2
Lecture 251 Author Form State
Lecture 252 Author Form Validation
Lecture 253 Creating New Author
Lecture 254 Updating Author
Lecture 255 Quick But Important Fix
Lecture 256 Not Found Page
Lecture 257 Dark Mode Part 1
Lecture 258 Dark Mode Part 2
Lecture 259 Running Lint Again
Section 24: Home Page
Lecture 260 Hero Slider Part 1
Lecture 261 Hero Slider Part 2
Lecture 262 Responsive UI
Lecture 263 Fetching Books By Genre
Lecture 264 Book List UI Part 1
Lecture 265 Book List UI Part 2
Lecture 266 Currency & Discount Helper Function
Lecture 267 Adding Skeletons
Lecture 268 Refactoring Skeletons
Section 25: Single Book Page
Lecture 269 Single Book Page
Lecture 270 Single Book UI Part 1
Lecture 271 Single Book UI Part 2
Lecture 272 Single Book UI Part 3
Lecture 273 Single Book UI Part 4
Section 26: Cart
Lecture 274 Cart Store
Lecture 275 Cart Reducers
Lecture 276 Updating Cart Items
Lecture 277 Cart Context
Lecture 278 Update Cart Function
Lecture 279 Updating Cart on Server
Lecture 280 Total Products Inside Cart
Lecture 281 Fetching Cart Details
Lecture 282 Cart Page UI Part 1
Lecture 283 Cart Page UI Part 2
Lecture 284 Cart Functionality
Lecture 285 Busy State & Clear Cart
Lecture 286 Storing Carts Inside LS
Lecture 287 Lint Again
Section 27: Payment / Checkout
Lecture 288 Cart Checkout
Lecture 289 Buying Single Product
Lecture 290 Is Already Purchased
Lecture 291 Payment Success
Lecture 292 Payment Success UI
Lecture 293 Payment Success Skeleton
Lecture 294 Orders Page
Lecture 295 Orders Page UI Part 1
Lecture 296 Orders Page UI Part 2
Section 28: Review
Lecture 297 Review Form
Lecture 298 Review Form UI
Lecture 299 Submitting Review
Lecture 300 Fetching Old Review
Lecture 301 Reviews Section
Lecture 302 Reviews Section UI
Lecture 303 Use Effect Cleanup Function
Section 29: Recommended Books / Authors / Library
Lecture 304 Recommended Section
Lecture 305 Recommended Section UI
Lecture 306 Empty Review UI
Lecture 307 Authors Page
Lecture 308 Books Published By Author
Lecture 309 Rendering Social Links
Lecture 310 Library Page
Lecture 311 Library Page UI
Section 30: Epub Reader
Lecture 312 Reading Page
Lecture 313 Epub JS
Lecture 314 Fetching Book From Local Dir
Lecture 315 Unwanted Cart Error
Lecture 316 Taking The Entire Screen
Lecture 317 Preventing Multi Render
Lecture 318 Page Navigator
Lecture 319 Turning Pages
Lecture 320 Loading Indicator
Lecture 321 Table Of Content
Lecture 322 Formatting Table Of Content
Lecture 323 Table Of Content UI
Lecture 324 Using Correct Href
Lecture 325 How it is Working?
Lecture 326 Header
Lecture 327 Theme Options
Lecture 328 Font & Notes Options
Lecture 329 Updating Theme
Lecture 330 Updating Font
Lecture 331 Counting Pages
Lecture 332 Highlight Options
Lecture 333 Highlight Option Conditional Display
Lecture 334 Highlighting Selected Text
Lecture 335 Sending History Request
Lecture 336 Multi Highlight Fixed
Lecture 337 Removing Highlights
Lecture 338 Last Visited Location
Lecture 339 Debounce Function
Lecture 340 Fixing Some Small Issues
Lecture 341 Notes Modal
Lecture 342 Rendering Notes
Lecture 343 On Notes Click
Lecture 344 Book Window Resize
Lecture 345 Fixing Lint Warnings
Ideal for those starting their journey in web development, eager to learn full-stack technologies.,Perfect for developers looking to expand their skills into full-stack development using the MERN stack.,Great for front-end developers wanting to deepen their React skills and integrate them with back-end technologies.,Suitable for those familiar with Node JS and Express, looking to enhance their front-end knowledge with React.,Perfect for individuals aiming to build a robust e-commerce platform for selling digital products like e-books.,Beneficial for freelance developers who want to offer full-stack solutions to their clients.,Valuable for students wanting practical experience in building full-stack applications.,Ideal for professionals seeking to transition into a tech career with a focus on web development.,Perfect for those who learn best by working on real-world projects and building hands-on experience.