Eduzan / Node.js
Node.js Tutorial Roadmap
- Explanation of React as a JavaScript library for building user interfaces.
- History and origin of React.
- Advantages of using React.
- Installing Node.js and npm on various operating systems (Windows, macOS, Linux).
- Verifying the installation (checking versions).
- Setting up a basic text editor (VS Code recommended).
- Writing your first “Hello World” application.
- Running Node.js scripts from the command line.
- Introduction to the Node.js REPL (Read-Eval-Print Loop).
- Core modules in Node.js (fs, path, http, etc.).
- Creating and exporting custom modules.
- Using
requireto import modules. - Understanding
module.exportsandexports.
- Reading files asynchronously and synchronously (
fs.readFileandfs.readFileSync). - Writing to files (
fs.writeFileandfs.appendFile). - Creating and deleting files and directories.
- Introduction to npm and its role in Node.js.
- Installing and managing packages with npm.
- Understanding
package.jsonandpackage-lock.json. - Using npm scripts to automate tasks.
- Understanding callbacks and the callback pattern.
- Introduction to Promises and
async/await. - Handling asynchronous errors with
try/catchand.catch().
- Creating a basic HTTP server using the
httpmodule. - Handling HTTP requests and responses.
- Serving static files with Node.js.
- Routing requests to different endpoints.
- Setting up Express.js in a Node.js project.
- Creating routes and handling requests with Express.
- Middleware in Express: what it is and how to use it.
- Serving static files and templates with Express.
- Introduction to databases in Node.js (SQL and NoSQL).
- Connecting to a MongoDB database using Mongoose.
- Performing CRUD operations with MongoDB.
- Introduction to SQL databases (e.g., MySQL) and using
knex.jsorsequelizefor database management.
- Understanding the basics of authentication in Node.js.
- Implementing user authentication with Passport.js.
- Securing your application with environment variables and bcrypt for hashing passwords.
- Introduction to JWT (JSON Web Tokens) for authentication.
- Understanding REST principles and creating a RESTful API.
- Setting up routes for different HTTP methods (GET, POST, PUT, DELETE).
- Validating and handling API requests.
- Documenting your API with tools like Swagger.
- Introduction to testing frameworks like Mocha and Chai.
- Writing unit tests for Node.js applications.
- Testing asynchronous code and APIs.
- Using test coverage tools like
nyc.
- Choosing the project idea (e.g., a simple task manager or blog).
- Designing the architecture (front-end, back-end, database).
- Setting up the development environment.
- Setting up the Express server.
- Designing and implementing API endpoints.
- Connecting to the database and handling CRUD operations.
- Setting up a simple front-end using React or any other framework.
- Integrating the front-end with the Node.js backend.
- Handling user authentication and session management.
- Preparing the application for production.
- Deploying the Node.js application on platforms like Heroku, DigitalOcean, or AWS.
- Setting up CI/CD pipelines for automated deployment.
End of lesson.