Watch node.js - bootcamp desarrollo web inc. mvc y rest apis

Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Overview

Aprende: MVC, Rest API's, ORMs, Enviar Emails, Autenticación, Subir Archivos, EJS, Pug, React y más - INCLUYE PROYECTOS

What you'll learn:

  • Nodejs y Express Desarrollo de sitios y aplicaciones Web
  • Agregar bases de datos a tus aplicaciones Node (MySQL, PostgreSQL y MongoDB)
  • Utilizar un ORM para acelerar el proceso de crear aplicaciones
  • Aprender la arquitectura MVC para crear sitios y aplicaciones
  • Integrar Template Engines como Pug
  • Subir Archivos en Node
  • Autenticar Usuarios
  • Enviar Emails
  • Integrar Webpack, axios, JavaScript en tus aplicaciones Node
  • Integrar Mapas (Leaflet) en tus aplicaciones
  • Utilizar Postgis en tus aplicaciones Node
  • Crear increibles proyectos Node, en todos los videos tendrás mucho aprendizaje
  • Crear REST API's en Node

¿Deseas aprender Node.js para Desarrollo Web?Estas en el curso adecuado para hacerlo.

Además de Node aprenderás otras herramientas como:

  • Express

  • Subir Archivos en Node con Multer.

  • Passport

  • Nodemailer

  • Template Engines y API's

  • ORM's - Sequelize y Mongoose.

  • Utilizaremos 3 bases de datos diferentes para los Proyectos: MongoDB, MySQL y PostgreSQL

  • Mapas en Leaflet y OpenStreetMap en tus aplicaciones Node.

  • Integrar Webpack y JavaScript para el front end

  • Axios y Node.

  • Y mucho mucho más!!

Siempre he creido que se aprende más creando proyectos así que crearemos diferentes, (Los videos están habilitados para verse) todos los Proyectos siguen el patrón Model View Controller.

PROYECTO 1:BienesRaices:Aprende a crear tu propio portal de bienes raices donde los visitantes podrán crear su cuenta, confirmarla y comenzar a publicar sus propiedades con Descripción e información de la propiedad, mapas y fotografía de la propiedad, así como un formulario de contacto; los clientes interesados podrán enviar mensajes y veremos herramientas tales como: Express, MySQL, Sequelize, MVC, Pug, Webpack, TailwindCSS, Dropzone, Leaflet, JWT y mucho más

PROYECTO 2:DevJobs - Plataforma para encontrar trabajo para Programadores:Aprende a crear una plataforma de empleos llamada DevJobs, los reclutadores podrán dar de alta una cuenta y comenzar a publicar vacantes, los programadores que les interese podrán llenar un formulario y enviar su Curriculum Vitae ( en algunos países hoja de vida)y ponerse en contacto con el reclutador, aprenderás a subir archivos, enviar emails, Alertas y mucho más!. El proyecto esta hecho con MongoDB, Mongoose, Handlebars, MVC, Node, Express, Axios, Webpack, Multer, Nodemailer Y MUCHO MAS !!

PROYECTO 3:Meeti - Encuentra eventos cercanos y crea una Comunidad:Sin duda el proyecto más grande / elaborado del curso, crearemos un clon del sitio web Meetup llamado Meeti, los usuarios podrán crear su cuenta y comenzar a publicar Meeti's, añadir información, ubicación con mapas (Leaflet y OpenStreetMap)integrar diferentes tecnologías tanto en el front end como en el Backend como Webpack, axios, sweet alert, MomentJS y mucho mas), además veremos Postgis para encontrar los meeti's más cercanos, entre otras cosas. este proyecto esta hecho con PosgreSQL, Sequelize, EJS, MVC, MomentJS, Leaflet, Multer, Passport, Nodemailer y mucho más.

Taught by

Juan Pablo De la torre Valdez

Reviews

4.8 rating at Udemy based on 998 ratings

Start your review of Node.js - Bootcamp Desarrollo Web inc. MVC y REST APIs

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Watch node.js - bootcamp desarrollo web inc. mvc y rest apis

Node JS & Deno.js — REST APIs, GraphQL APIs, Authentication, MongoDB, SQL & more!

Course/App Content   |    Technologies

📂 COURSE CONTENT

All 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 Pattern

2.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 & NoSQL

3.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. Session and Cookies

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. Authentication

5.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. Emails

6.1 Nodemailer: Sending emails using Nodemailer and SendGrid, Understanding limitations for large scale apps

7. Validation

Basic 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 Handling

Type of errors, Throwing errors, Returning error pages,Express.js Error handling middleware, Status Codes

9. File Upload & Download

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. Pagination

Retrieving chunk of data, Skip & Limit with SQL, Preparing pagination data on the server, Dynamic pagination buttons, Re-using pagination logic & controls.

11. Async Requests

Client Side JS Code, JSON Data Format, Sending & Handling background requests, Manipulating the DOM.

12. Payments

How payments work, checkout page, Using Stripe to enable payment.

13. REST APIs

13.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/Await

Transforming Then/Catch into Async/Await, Top-level await

15. Websockets & Socket.io

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. GraphQL

Setup & Queries, Mutation Schemas, Mutation resolvers, Input validation, Handling errors, Extracting data from auth token, Pagination, Uploading images, Managin user status, Using variables.

17. Deployment

Deploying 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 applications

Why 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 & NPM

Npm & Nodejs, Versioning in package.json, Build tools, Using Node.js in build processes.

20. Modern Javascript & Nodejs

ES Modules, Core Modules & Promises

21. NodeJS & Typescript

Why 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. Deno

22.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.

💻 TECHNOLOGIES

BACK-END (NodeJS + TypeScript)

  • Nodemon: automatically restarting the node application when file changes in the directory are detected
  • Express: production dependency for creating robusts APIs quickly with HTTP utility methods and middleware
  • Ejs/Pug/Express-handlebars: software designed to combine templates with a data model to produce multiple pages that share the same look throughout the site. These are the views in an MVC project.
  • Mysql2: mySQL to interact with the database
  • Sequelize: Object-Relational Mapping Library that uses mysql2 to interact with the database running the queries behind the scenes
  • Mongodb: MongoDB Driver to connect to MongoDB to handle the database engine (run noSQL databases for large scale applications)
  • Mongoose: Object-Document Mapping Library that allow us to define models with which we then work and where all the queries are done behind the scenes
  • Express-session: package to handle sessions, part of the official expressjs suite but not baked into expressjs itself
  • Connect-mongodb-session: let our express session package store data in the database
  • Bcryptjs: encrypting passwords
  • Csurf: Node.js CSRF protection middleware. It generates a csrf token (string value we can embed into our forms/pages for every request that on the backend changes the users state, so anything that does something sensitive which we want to protect against).
  • Connect-flash: flash is a special area of the session used for storing messages. Messages are written to the flash and cleared after being displayed to the user. The flash is typically used in combination with redirects, ensuring that the message is available to the next page that is to be rendered
  • Nodemailer: send emails from inside nodejs
  • Express-validator: validate forms on the server
  • Multer: parses incoming requests handling files and being able to handle file requests as well or requests with mixed data, with text and file data.
  • Pdfkit: pdf generator
  • Stripe: suite of payment APIs that allows online payment processing
  • Typescript: strongly typed programming language that builds on JavaScript
Deployment And Security
  • Helmet: secure node express application: set headers to responses following best practices regarding attack patterns/security issues
  • Compression: Nodejs express middleware that serves optimized assets
  • Morgan: simplify logging request data
Testing
  • Mocha: runs tests (executing the test code)
  • Chai: asserts results (validating the test outcome)
  • Sinon: creates Stubs, which is a replacement for the original function where we can easily restore the original set up, clearing stub functions.
REST API
  • Jsonwebtoken: creates JSON web tokens for authentication on REST APIs. Creates data with optional signature and/or encryption whose payload holds JSON and is signed either using a private secret or a public/private key.
  • Socket.io: (server) web sockets with a lot of convenience features around that protocol that make it very easy to set up a web socket channel with a client in the server and to use that channel.
  • Socket.io-client: (web) socket.io for the client
Graphql
  • Graphql: required for defining the schema (definition of queries, mutations, etc) of the GraphQL service.
  • Express-graphql: server to parse incoming requests
  • Validator: validates inputs on the resolvers

Is Nodejs GOOD FOR REST API?

Quick & easy development Node. js has large and active community that contribute many useful and mature modules which can be easily included and used. For example, to construct REST API such known modules as express, restify and hapi fit perfectly.

What is Node js REST API?

A REST API is an application programming interface that adheres to the constraints of REST architectural style and enables interaction with RESTful web services. Interconnected networks make up the web. A web service is a set of open protocols and standards used for exchanging data between client-server applications.

Which API is used in Node js?

Node-API is a toolkit introduced in Node 8.0. 0 that acts as an intermediary between C/C++ code and the Node JavaScript engine. It permits C/C++ code to access, create, and manipulate JavaScript objects as if they were created by JavaScript code. Node-API is built into Node versions 8.0.

How do I create a RESTful webservice in node js?

js project..
Step 1: Initialize Node. js. ... .
Step 2: Install project dependencies. ... .
Step 3: Initialize Typescript. ... .
Step 4: Setting up the tsconfig. ... .
Step 5: Modify package. ... .
Step 6: Setting up the application structure. ... .
Step 6: Starting the development server. ... .
Step 7: Testing the API with Postman..