Node JS & Deno.js — REST APIs, GraphQL APIs, Authentication, MongoDB, SQL & more! Course/App Content | Technologies 📂 COURSE CONTENTAll the course content can be found at Studies folder 1. Node Basic How the web works, Creating a Node Server, Node Lifecycle & event loop, Requests, Responses & Responses headers, Routing/redirecting requests, Request body parsing, Event Driven code execution, Blocking/Non-blocking code, Node Modules system. 2. Node MVC Software Design Pattern2.1 Improved Development Workflow and Debugging: NPM Scripts, 3rd party packages vs Global features vs Core modules, Nodemon, Error Types, Syntax & Runtime & Logical errors. 2.2 Express.js: Middlewares, Handling different routes, Parsing incoming requests, Express router, 404 error pages, Paths filtering, Serving files statically, Navigation. 2.3 Dynamic Content & Template Engines: Views, Sharing data across requests & users, Pug/Express Handlebars/Ejs Template Engines. 2.4 Model View Controller (MVC): Controllers, Storing/fetching data through models. 2.5 Enhancing the App: Navigation, Routes and Data Storage. 2.6 Dynamic Routes & Advanced Models: Extracting dynamic params, Using IDs on paths, Passing data on requests, Query Params, HTTP Methods. 3. Node SQL & NoSQL3.1 SQL: Choosing databases, SQL vs NoSQL, SQL for retrieving data & fetching products 3.2 Sequelize: Synching JS Definitions to the database, inserting data, Model creation, One-To-Many relationships, Managing users and models. 3.3 NoSQL & MongoDB: Relations in NoSQL, Database connections, MongoDB Compass, Storing users, Relational data. 3.4 Mongoose: MongoDB Server connection with Mongoose, Schemas, Saving data though Mongoose, Fetching Relations, Clearing data. 4.1 Cookies: Request Driven Login Solutions, Setting/manipulating/configuring/deleting cookies. 4.2 Sessions: Session Middlewares, Using MongoDB to store sessions, Connecting Sessions and Cookies. 5. Authentication5.1 Basic Authentication: Authentication Flow, Encrypting passwords, Sign up/Sign in, Route protection, CSRF Attacks, Tokens and Protection, Providing user feedback, Flash messages. 5.2 Advanced Authentiction: Resetting passwords, Token logic, Updating passwords, Protection to Post Actions, Limiting editing to posts that user created. 6. Emails6.1 Nodemailer: Sending emails using Nodemailer and SendGrid, Understanding limitations for large scale apps 7. ValidationBasic and custom validation, Validating Errors and Login, Checking for field equality, Async validation, Conditional CSS classes, Sanitazing Data, Validating product manipulation (adding/editing). 8. Error HandlingType of errors, Throwing errors, Returning error pages,Express.js Error handling middleware, Status Codes File Picker, Handling multipart form data, Handling file uploads with multer, Adjusting filename & filepaths, Filtering files by mimetype, Storing file data in the database, Serving images statically, Downloading files with Authentication, Setting file Type headers, Restricting file access, Streaming Data vs Preloading Data, PDFKit for pdf generation, Deleting files. 10. PaginationRetrieving chunk of data, Skip & Limit with SQL, Preparing pagination data on the server, Dynamic pagination buttons, Re-using pagination logic & controls. 11. Async RequestsClient Side JS Code, JSON Data Format, Sending & Handling background requests, Manipulating the DOM. 12. PaymentsHow payments work, checkout page, Using Stripe to enable payment. 13. REST APIs13.1 Basics: Why to use REST APIs, Accessing data, Routing & HTTP Methods, Route setups, Sending requests & responses and working with Postman, Clients & CORS errors, HTTP Methods. 13.2 Practical Application: Frontend setup, Planning the API, Fetching lists of posts, Endpoints creation, Server side validation, Storing posts, Static Images & Error Handling, Image names & windows, HTTP Methods, Signup validation, Logging in & Creating JSON Web Tokens (JWTs), Validating Tokens, Adding Auth Middleware to all routes, COnnecting Posts & Users, Authorization checks, Clearing relations. 14. Async/AwaitTransforming Then/Catch into Async/Await, Top-level await Setting up socket.io on the sever, Establishing a connection from the client, Realtime potentials, Sharing the IO Instance across files, Syncrhonizing POST additions, Updating/deleting posts on all connected clients, Sorting correctly. 16. GraphQLSetup & Queries, Mutation Schemas, Mutation resolvers, Input validation, Handling errors, Extracting data from auth token, Pagination, Uploading images, Managin user status, Using variables. 17. DeploymentDeploying different kinds of apps, Deployment preparatins, Environment variables, Production API Keys, Secure response headers with Helmet, Compressing assets, Request logging, Setting up a SSL erver, Hosting providers, Deploying APIs. 18. Testing Node.js applicationsWhy and how to test, Testing auth middleware, Organizing multiple tests, What not to test, Testing controllers, Testing asyncrhonous code, Using stubs, Testing code with an active database, Cleaning up, Hooks, Testing code that requires authentication. 19. Node.js as a Build tool & NPMNpm & Nodejs, Versioning in package.json, Build tools, Using Node.js in build processes. 20. Modern Javascript & NodejsES Modules, Core Modules & Promises 21. NodeJS & TypescriptWhy Typescript, Typescript setup, Assigning types, Type inference & type casting, Union Types, Object & Array types, Type Aliases & Interfaces, Generics, Typescript with Express, REST Routes with Typescript, Testing the API, Improving project structure. 22. Deno22.1 Introduction: Deno setup, Deno runtime (namespace) API, Deno Permissions, Deno vs Node, How deno features are organized, Deno standard library, Creating a webserver, Oak framework with Deno, Module URLs, Deno & Node REST APIs. 22.2 Deno, CRUD & Databases (MongoDB): Handling CORS errors, Connecting Deno to Mongodb, Using MondoDB CLient Module, Deno MongoDB CRUD Operations. 💻 TECHNOLOGIESBACK-END (NodeJS + TypeScript)
Deployment And Security
Testing
REST API
Graphql
|