Node.js, Express, MongoDB & More: The Complete Bootcamp
- Objectifs pédagogiques
- Sections du cours
- Avis
Do you want to build fast and powerful back-end applications with JavaScript? Would you like to become a more complete and in-demand developer?
Then Node.js is the hot technology for you to learn right now, and you came to the right place to do it!
Welcome to the Complete Node.js, Express, and MongoDB Bootcamp, your fast track to modern back-end development.
This course is the perfect all-in-one package that will take you from a complete beginner to an advanced, highly-skilled Node.js developer.
Like all my other courses, this one is completely project-based! And not just any project: it’s a complete, beautiful, and feature-rich application, containing both a RESTful API and a server-side rendered website. It’s the most fantastic and complete project that you will find in any Node.js course on the internet!
By building this huge project, you will learn all the skills that you need in order to plan, build, and deploy your own modern back-end applications with Node.js and related technologies.
(If you feel like exploring the project, you can do so at www[.]natours[.]dev. And this is only a small part of the project! Log in with « laura@example.com » and password « test1234 »)
After finishing this course, you will:
1) Be building your own fast, scalable, and powerful Node.js RESTful APIs or web applications;
2) Truly understand how Node.js works behind the scenes;
3) Be able to work with NoSQL data and model data in real-world situations (a hugely important skill);
4) Know how modern back-end development works, and how all the different technologies fit together (hard to understand from scattered tutorials and videos);
5) Have experience in professionally used tools and libraries like Express, Mongoose, Stripe, Sendgrid, Atlas, Compass, Git, Heroku, and many more;
6) Have built a complete application, which is a perfect starting point for your own applications in the future.
Please note that this course is NOT for absolute web development beginners, so you should already be familiar with basic JavaScript. NO back-end experience required though!
It’s an absolutely full-packed, deep-dive course with over 40 hours of content!
Since this is the « Complete Node.js Bootcamp », the course is crammed with tons of different technologies, techniques, and tools, so that you walk away from the course as a complete Node.js developer.
That’s why the course turned out to be over 40 hours long. But if that sounds like too much for you, don’t worry, there are videos or entire sections that you can safely skip.
Here is exactly what you’re gonna learn:
-
Fundamentals of Node.js, core modules, and NPM (Node Package Manager)
-
How Node.js works behind the scenes: event loop, blocking vs non-blocking code, event-driven architecture, streams, modules, etc.
-
Fundamentals of Express (Node.js framework): routing, middleware, sending responses, etc.
-
RESTful API design and development with advanced features: filtering, sorting, aliasing, pagination
-
Server-side website rendering (HTML) with Pug templates
-
CRUD operations with MongoDB database locally and on the Atlas platform (in the cloud)
-
Advanced MongoDB: geospatial queries, aggregation pipeline, and operators
-
Fundamentals of Mongoose (MongoDB JS driver): Data models, CRUD operations, data validation, and middleware
-
Advanced Mongoose features: modeling geospatial data, populates, virtual populates, indexes, etc.
-
Using the MVC (Model-View-Controller) architecture
-
How to work with data in NoSQL databases
-
Advanced data modelling: relationships between data, embedding, referencing, and more
-
Complete modern authentication with JWT: user sign up, log in, password reset, secure cookies, etc.
-
Authorization (user roles)
-
Security: best practices, encryption, sanitization, rate limiting, etc.
-
Accepting credit card payments with Stripe: Complete integration on the back-end and front-end
-
Uploading files and image processing
-
Sending emails with Mailtrap and Sendgrid
-
Advanced error handling workflows
-
Deploying Node.js application to production with Heroku
-
Git and GitHub crash course
-
And so much more!
Why should you learn Node.js and take this course?
If you want to learn Node.js and modern back-end development, then there is no doubt that this course is for you!
It’s the biggest Node.js course on the internet, it has by far the most complete course project, and offers the most in-depth explanations of all topics included.
And even if you already know some Node.js, you should still take this course, because it contains subjects that are not covered anywhere else, or not in the same depth!
But maybe you’re not yet convinced that Node.js really is the right technology for you to learn right now?
Well, first, Node.js will allow you to use your JavaScript skills to build applications on the back-end. That itself is a huge gain, which makes your full-stack development process so much easier and faster.
Plus, popularity and opportunities for Node.js are off the charts. It’s a modern, proven, and reliable technology, used by tech giants (and 6-figure-salary-paying companies) like Netflix, PayPal, Uber, and many more.
Node.js really is what you should invest your time in, instead of outdated technology like PHP.
In summary, if you already know JavaScript, learning Node is the logical next step for you! It will make you a better, more versatile, and more complete developer, which will ultimately boost your opportunities in the job market!
And I created this course to help you do exactly that! It really is the course I wish I had when I was first learning back-end development with Node.js and all related technologies.
And this is what you get by signing up today:
-
Lifetime access to 40+ hours of HD quality videos. No monthly subscription. Learn at your own pace, whenever you want;
-
Friendly and fast support in the course Q&A whenever you have questions or get stuck;
-
English closed captions (not the auto-generated ones provided by Udemy);
-
Course slides in PDF format;
-
Downloadable assets, starter code, and final code for each section;
-
Lots of small challenges are included in the videos so you can track your progress.
And now, I hope to welcome you as a new student in my course! So click that « Enroll » button right now, and join me in this adventure today!
But if you’re not 100% sure yet, just go ahead and watch the promo video to take a look at the course project. I promise you will be amazed 🙂
See you in the course!
-
4Section IntroLeçon vidéo
-
5What Is Node.js and Why Use It?Leçon vidéo
-
6Running Javascript Outside the BrowserLeçon vidéo
-
7Using Modules 1: Core ModulesLeçon vidéo
-
8Reading and Writing FilesLeçon vidéo
-
9Blocking and Non-Blocking: Asynchronous Nature of Node.jsLeçon vidéo
-
10Reading and Writing Files AsynchronouslyLeçon vidéo
-
11Creating a Simple Web ServerLeçon vidéo
-
12RoutingLeçon vidéo
-
13Building a (Very) Simple APILeçon vidéo
-
14HTML Templating: Building the TemplatesLeçon vidéo
-
15HTML Templating: Filling the TemplatesLeçon vidéo
-
16Parsing Variables from URLsLeçon vidéo
-
17Using Modules 2: Our Own ModulesLeçon vidéo
-
18Introduction to NPM and the package.json FileLeçon vidéo
-
19Types of Packages and InstallsLeçon vidéo
-
20Using Modules 3: 3rd Party ModulesLeçon vidéo
-
21Package Versioning and UpdatingLeçon vidéo
-
22Setting up Prettier in VS CodeLeçon vidéo
-
23Recap and What's NextLeçon vidéo
-
29Section IntroLeçon vidéo
-
30Node, V8, Libuv and C++Leçon vidéo
-
31Processes, Threads and the Thread PoolLeçon vidéo
-
32The Node.js Event LoopLeçon vidéo
-
33The Event Loop in PracticeLeçon vidéo
-
34Events and Event-Driven ArchitectureLeçon vidéo
-
35Events in PracticeLeçon vidéo
-
36Introduction to StreamsLeçon vidéo
-
37Streams in PracticeLeçon vidéo
-
38How Requiring Modules Really WorksLeçon vidéo
-
39Requiring Modules in PracticeLeçon vidéo
-
40Section IntroLeçon vidéo
-
41The Problem with Callbacks: Callback HellLeçon vidéo
-
42From Callback Hell to PromisesLeçon vidéo
-
43Building PromisesLeçon vidéo
-
44Consuming Promises with Async/AwaitLeçon vidéo
-
45Returning Values from Async FunctionsLeçon vidéo
-
46Waiting for Multiple Promises SimultaneouslyLeçon vidéo
-
47Section IntroLeçon vidéo
-
48What is Express?Leçon vidéo
-
49Installing PostmanLeçon vidéo
-
50Setting up Express and Basic RoutingLeçon vidéo
-
51APIs and RESTful API DesignLeçon vidéo
-
52Starting Our API: Handling GET RequestsLeçon vidéo
-
53Handling POST RequestsLeçon vidéo
-
54Responding to URL ParametersLeçon vidéo
-
55Handling PATCH RequestsLeçon vidéo
-
56Handling DELETE RequestsLeçon vidéo
-
57Refactoring Our RoutesLeçon vidéo
-
58Middleware and the Request-Response CycleLeçon vidéo
-
59Creating Our Own MiddlewareLeçon vidéo
-
60Using 3rd-Party MiddlewareLeçon vidéo
-
61Implementing the "Users" RoutesLeçon vidéo
-
62Creating and Mounting Multiple RoutersLeçon vidéo
-
63A Better File StructureLeçon vidéo
-
64Param MiddlewareLeçon vidéo
-
65Chaining Multiple Middleware FunctionsLeçon vidéo
-
66Serving Static FilesLeçon vidéo
-
67Environment VariablesLeçon vidéo
-
68Setting up ESLint + Prettier in VS CodeLeçon vidéo
-
69Section IntroLeçon vidéo
-
70What is MongoDB?Leçon vidéo
-
71No Need to Install MongoDB LocallyLeçon de texte
-
72[OPTIONAL] Installing MongoDB on macOSLeçon vidéo
-
73[OPTIONAL] Installing MongoDB on WindowsLeçon vidéo
-
74[OPTIONAL] Creating a Local DatabaseLeçon vidéo
-
75[OPTIONAL] CRUD: Creating DocumentsLeçon vidéo
-
76[OPTIONAL] CRUD: Querying (Reading) DocumentsLeçon vidéo
-
77[OPTIONAL] CRUD: Updating DocumentsLeçon vidéo
-
78[OPTIONAL] CRUD: Deleting DocumentsLeçon vidéo
-
79Using Compass App for CRUD OperationsLeçon vidéo
-
80Creating a Hosted Database with AtlasLeçon vidéo
-
81Connecting to Our Hosted DatabaseLeçon vidéo
-
82Section IntroLeçon vidéo
-
83Connecting Our Database with the Express AppLeçon vidéo
-
84What Is Mongoose?Leçon vidéo
-
85Creating a Simple Tour ModelLeçon vidéo
-
86Creating Documents and Testing the ModelLeçon vidéo
-
87Intro to Back-End Architecture: MVC, Types of Logic, and MoreLeçon vidéo
-
88Refactoring for MVCLeçon vidéo
-
89Another Way of Creating DocumentsLeçon vidéo
-
90Reading DocumentsLeçon vidéo
-
91Updating DocumentsLeçon vidéo
-
92Deleting DocumentsLeçon vidéo
-
93Modelling the ToursLeçon vidéo
-
94Importing Development DataLeçon vidéo
-
95Making the API Better: FilteringLeçon vidéo
-
96Making the API Better: Advanced FilteringLeçon vidéo
-
97Making the API Better: SortingLeçon vidéo
-
98Making the API Better: Limiting FieldsLeçon vidéo
-
99Making the API Better: PaginationLeçon vidéo
-
100Making the API Better: AliasingLeçon vidéo
-
101Refactoring API FeaturesLeçon vidéo
-
102Aggregation Pipeline: Matching and GroupingLeçon vidéo
-
103Aggregation Pipeline: Unwinding and ProjectingLeçon vidéo
-
104Virtual PropertiesLeçon vidéo
-
105Document MiddlewareLeçon vidéo
-
106Query MiddlewareLeçon vidéo
-
107Aggregation MiddlewareLeçon vidéo
-
108Data Validation: Built-In ValidatorsLeçon vidéo
-
109Data Validation: Custom ValidatorsLeçon vidéo
-
110Section IntroLeçon vidéo
-
111Debugging Node.js with ndbLeçon vidéo
-
112Handling Unhandled RoutesLeçon vidéo
-
113An Overview of Error HandlingLeçon vidéo
-
114Implementing a Global Error Handling MiddlewareLeçon vidéo
-
115Better Errors and RefactoringLeçon vidéo
-
116Catching Errors in Async FunctionsLeçon vidéo
-
117Adding 404 Not Found ErrorsLeçon vidéo
-
118Errors During Development vs ProductionLeçon vidéo
-
119Handling Invalid Database IDsLeçon vidéo
-
120Handling Duplicate Database FieldsLeçon vidéo
-
121Handling Mongoose Validation ErrorsLeçon vidéo
-
122Errors Outside Express: Unhandled RejectionsLeçon vidéo
-
123Catching Uncaught ExceptionsLeçon vidéo
-
124Section IntroLeçon vidéo
-
125Modelling UsersLeçon vidéo
-
126Creating New UsersLeçon vidéo
-
127Managing PasswordsLeçon vidéo
-
128How Authentication with JWT WorksLeçon vidéo
-
129Signing up UsersLeçon vidéo
-
130Logging in UsersLeçon vidéo
-
131Protecting Tour Routes - Part 1Leçon vidéo
-
132Protecting Tour Routes - Part 2Leçon vidéo
-
133Advanced Postman SetupLeçon vidéo
-
134Authorization: User Roles and PermissionsLeçon vidéo
-
135Password Reset Functionality: Reset TokenLeçon vidéo
-
136Sending Emails with NodemailerLeçon vidéo
-
137Password Reset Functionality: Setting New PasswordLeçon vidéo
-
138Updating the Current User: PasswordLeçon vidéo
-
139Updating the Current User: DataLeçon vidéo
-
140Deleting the Current UserLeçon vidéo
-
141Security Best PracticesLeçon vidéo
-
142Sending JWT via CookieLeçon vidéo
-
143Implementing Rate LimitingLeçon vidéo
-
144Setting Security HTTP HeadersLeçon vidéo
-
145Data SanitizationLeçon vidéo
-
146Preventing Parameter PollutionLeçon vidéo
-
147Section IntroLeçon vidéo
-
148MongoDB Data ModellingLeçon vidéo
-
149Designing Our Data ModelLeçon vidéo
-
150Modelling Locations (Geospatial Data)Leçon vidéo
-
151Modelling Tour Guides: EmbeddingLeçon vidéo
-
152Modelling Tour Guides: Child ReferencingLeçon vidéo
-
153Populating Tour GuidesLeçon vidéo
-
154Modelling Reviews: Parent ReferencingLeçon vidéo
-
155Creating and Getting ReviewsLeçon vidéo
-
156Populating ReviewsLeçon vidéo
-
157Virtual Populate: Tours and ReviewsLeçon vidéo
-
158Implementing Simple Nested RoutesLeçon vidéo
-
159Nested Routes with ExpressLeçon vidéo
-
160Adding a Nested GET EndpointLeçon vidéo
-
161Building Handler Factory Functions: DeleteLeçon vidéo
-
162Factory Functions: Update and CreateLeçon vidéo
-
163Factory Functions: ReadingLeçon vidéo
-
164Adding a /me EndpointLeçon vidéo
-
165Adding Missing Authentication and AuthorizationLeçon vidéo
-
166Importing Review and User DataLeçon vidéo
-
167Improving Read Performance with IndexesLeçon vidéo
-
168Calculating Average Rating on Tours - Part 1Leçon vidéo
-
169Calculating Average Rating on Tours - Part 2Leçon vidéo
-
170Preventing Duplicate ReviewsLeçon vidéo
-
171Geospatial Queries: Finding Tours Within RadiusLeçon vidéo
-
172Geospatial Aggregation: Calculating DistancesLeçon vidéo
-
173Creating API Documentation Using PostmanLeçon vidéo
-
174Section IntroLeçon vidéo
-
175Recap: Server-Side vs Client-Side RenderingLeçon vidéo
-
176Setting up Pug in ExpressLeçon vidéo
-
177First Steps with PugLeçon vidéo
-
178Creating Our Base TemplateLeçon vidéo
-
179Including Files into Pug TemplatesLeçon vidéo
-
180Extending Our Base Template with BlocksLeçon vidéo
-
181Setting up the Project StructureLeçon vidéo
-
182Building the Tour Overview - Part 1Leçon vidéo
-
183Building the Tour Overview - Part 2Leçon vidéo
-
184Building the Tour Page - Part 1Leçon vidéo
-
185Building the Tour Page - Part 2Leçon vidéo
-
186Including a Map with Mapbox - Part 1Leçon vidéo
-
187Including a Map with Mapbox - Part 2Leçon vidéo
-
188Building the Login ScreenLeçon vidéo
-
189Logging in Users with Our API - Part 1Leçon vidéo
-
190Logging in Users with Our API - Part 2Leçon vidéo
-
191Logging in Users with Our API - Part 3Leçon vidéo
-
192Logging out UsersLeçon vidéo
-
193Rendering Error PagesLeçon vidéo
-
194Building the User Account PageLeçon vidéo
-
195Updating User DataLeçon vidéo
-
196Updating User Data with Our APILeçon vidéo
-
197Updating User Password with Our APILeçon vidéo
-
198Section IntroLeçon vidéo
-
199Image Uploads Using Multer: UsersLeçon vidéo
-
200Configuring MulterLeçon vidéo
-
201Saving Image Name to DatabaseLeçon vidéo
-
202Resizing ImagesLeçon vidéo
-
203Adding Image Uploads to FormLeçon vidéo
-
204Uploading Multiple Images: ToursLeçon vidéo
-
205Processing Multiple ImagesLeçon vidéo
-
206Building a Complex Email HandlerLeçon vidéo
-
207Email Templates with Pug: Welcome EmailsLeçon vidéo
-
208Sending Password Reset EmailsLeçon vidéo
-
209Using Sendgrid for "Real" EmailsLeçon vidéo
-
210Credit Card Payments with StripeLeçon vidéo
-
211Integrating Stripe into the Back-EndLeçon vidéo
-
212Processing Payments on the Front-EndLeçon vidéo
-
213Modelling the BookingsLeçon vidéo
-
214Creating New Bookings on Checkout SuccessLeçon vidéo
-
215Rendering a User's Booked ToursLeçon vidéo
-
216Finishing the Bookings APILeçon vidéo
-
217Final ConsiderationsLeçon vidéo
-
218Section IntroLeçon vidéo
-
219Setting Up Git and GitHubLeçon vidéo
-
220Git FundamentalsLeçon vidéo
-
221Pushing to GitHubLeçon vidéo
-
222Preparing Our App for DeploymentLeçon vidéo
-
223Deploying Our App to HerokuLeçon vidéo
-
224Testing for Secure HTTPS ConnectionsLeçon vidéo
-
225Responding to a SIGTERM SignalLeçon vidéo
-
226Implementing CORSLeçon vidéo
-
227Finishing Payments with Stripe WebhooksLeçon vidéo