Cómo Desarrollar una Aplicación Web con Angular y Node.js Desde Cero

Cómo Desarrollar una Aplicación Web con Angular y Node.js Desde Cero

Tutorial Angular y Node.js: Cómo Crear una Aplicación Web Full-Stack Completa

En este tutorial Angular Node.js, aprenderás paso a paso cómo crear una aplicación web full-stack, combinando el poder de Angular para el desarrollo frontend con Node.js y Express para el backend. También integraremos una base de datos MongoDB para la gestión de datos y finalizaremos con un despliegue básico. Este tutorial está pensado para desarrolladores con conocimientos básicos en JavaScript que desean profundizar en el desarrollo frontend y backend.


Índice

  1. Configuración del Entorno de Desarrollo
  2. Creación de la Aplicación Angular (Frontend)
  3. Manejo de Rutas en Angular
  4. Configuración del Backend con Node.js y Express
  5. Conexión a MongoDB
  6. Comunicación entre Angular y Node.js mediante API REST
  7. Despliegue Básico de la Aplicación
  8. Conclusión y Buenas Prácticas

Configuración del Entorno de Desarrollo

Antes de comenzar a codificar, asegúrate de tener instaladas las siguientes herramientas:

  • Node.js y npm (Node Package Manager).
  • Angular CLI para crear proyectos Angular y gestionar componentes.
  • MongoDB (puede ser local o en la nube, por ejemplo MongoDB Atlas).

Paso 1: Instalar Node.js y npm

Dirígete a nodejs.org y descarga la versión LTS (recomendado). Verifica la instalación con:

Paso 2: Instalar Angular CLI

Verifica su instalación:

Paso 3: Instalar MongoDB

Si prefieres usar una base de datos local, descarga MongoDB Community Edition desde mongodb.com y sigue las instrucciones según tu sistema operativo.

Alternativamente, crea una cuenta gratuita en MongoDB Atlas y configura un cluster en la nube.

Creación de la Aplicación Angular (Frontend)

Vamos a crear una sencilla aplicación Angular para mostrar y agregar elementos (por ejemplo, tareas).

Paso 1: Crear nuevo proyecto Angular

  • --routing habilita el manejo de rutas.
  • --style=css configura el CSS como preprocesador.

Paso 2: Navegar al proyecto e iniciar servidor de desarrollo

Se abrirá el navegador en http://localhost:4200.

Paso 3: Crear un componente principal de “Tareas”

Esto creará el componente con sus archivos TypeScript, HTML y CSS.

Paso 4: Crear un servicio para manejar la comunicación con el backend

Este servicio usará HttpClient para comunicarse con la API REST.

Código básico para el servicio de tareas (src/app/services/task.service.ts)

Paso 5: Modificar el componente para mostrar tareas y un formulario para agregar nuevas

Edita src/app/tasks/tasks.component.ts:

Y su vista tasks.component.html:

Paso 6: Importar módulos necesarios

En app.module.ts importa HttpClientModule y FormsModule:

Manejo de Rutas en Angular

Para mostrar el componente de tareas cuando el usuario acceda a /tasks, vamos a configurar las rutas.

Edita src/app/app-routing.module.ts:

Ahora, visitando http://localhost:4200/ serás redirigido automáticamente a /tasks.

Configuración del Backend con Node.js y Express

Paso 1: Crear carpeta backend

Fuera del directorio Angular, crea la carpeta backend:

Paso 2: Instalar dependencias

  • express: framework para el servidor
  • mongoose: para conectar y modelar MongoDB
  • cors: para evitar problemas de CORS
  • body-parser: para leer cuerpos JSON

Paso 3: Crear servidor básico

Crea archivo server.js:

Paso 4: Ejecutar backend

Verifica que en la consola aparezca “MongoDB conectado” y “Servidor backend en puerto 3000”.

Conexión a MongoDB

Se conecta automáticamente con la cadena:

Si usas MongoDB Atlas, reemplaza por la URL que te provea Atlas (asegúrate de mantener las comillas y reemplazar usuario, contraseña y cluster). Ejemplo:

Comunicación entre Angular y Node.js mediante API REST

Gracias al servicio Angular TaskService, en el frontend hacemos peticiones HTTP que el backend procesa para almacenar o recuperar datos de MongoDB.

Asegúrate que el backend esté corriendo (localhost:3000) y el frontend también (localhost:4200).

Cuando agregues una tarea en Angular, esta envía un POST a /api/tasks y cuando abres la lista, hace un GET para mostrar todas.

Despliegue Básico de la Aplicación

Paso 1: generar build de Angular

En el directorio del proyecto Angular ejecuta:

Esto crea una carpeta dist/angular-node-app con archivos estáticos optimizados.

Paso 2: Servir Angular desde Express

Modifica server.js para servir los archivos estáticos:

Paso 3: Ejecuta servidor backend cuya función ahora es full-stack

Abre el navegador en http://localhost:3000 y deberías ver la aplicación Angular interactuando con el backend.


Conclusión y Buenas Prácticas

En este tutorial Angular Node.js hemos cubierto todo lo necesario para crear una aplicación web full-stack:

  • Configuración del entorno de desarrollo para frontend y backend.
  • Creación de componentes y servicios Angular.
  • Manejo de rutas en Angular.
  • Configuración de un servidor Express y conexión a MongoDB.
  • Comunicación vía API REST.
  • Despliegue básico integrando ambos extremos.

Buenas prácticas recomendadas:

  • Separar responsabilidades: El backend se encargará sólo de lógica y datos, el frontend de interfaz y usabilidad.
  • Gestión de errores: Añade manejo de errores en las peticiones HTTP en ambos lados.
  • Variables de entorno: No guardes cadenas de conexión o puertos directamente, usa archivos .env.
  • Seguridad: Limita permisos de la base de datos y valida los datos recibidos.
  • Optimización del build: Aprovecha las opciones de optimización de Angular.

Si quieres profundizar, agrega autenticación, mejores estilos y despliegue en plataformas como Heroku o Vercel.

¿Listo para crear tu app con Angular y Node.js? Empieza hoy mismo y explora todo el potencial del desarrollo frontend y backend moderno.


¡Comparte este tutorial si te ha gustado y comenta tus dudas!