Esta aplicación presenta la implementación de un servidor construido en Node con Express que implementa sockets para la comunicación directa con un cliente web y móvil (Flutter).
Paso 1:
Tener instalado Node y el paguete nodemon de manera global. Nodemon permite levantar el servidor con cada nuevo cambio.
Paso 2:
Clonar el repositorio del proyecto con el siguiente comando
git clone https://github.com/bryanAguilar001/chat-socket-server.git
Paso 3:
En la raíz del proyecto ejecute el siguiente comando en la consola para obtener las dependencias necesarias:
npm install
Paso 4:
Ejecutar el servidor. El primer comando se usa para ambientes de producción y el segundo para ambientes de desarrollo (usa nodemon)
npm start
npm run start:dev
- Comunicación en tiempo real con clientes
- Creación de directorios públicos
- Variables de entorno y scripts
- Emitir y escuchar eventos
- Api rest endpoints
- MongoDB y MongoAtlas
- Conectar Node con Mongo
- Validaciones en Express
- Crear usuarios de base de datos
- Encriptar contraseñas
- Servicios REST
- Login
- Registro
- Json Web Tokens
- Validar y renovar JWTs
- Conectar socket server luego de un inicio de sesión
- Autenticar usuarios conectados por sockets
- Actualizar la BD cuando un usuario se conecta
- Servicios para retornar usuarios registrados e historial de mensajes
- Enviar y recibir mensajes
- Modelos de datos
- Creación de modelos para manipulación de objetos
- Cliente HTML para emitir y escuchar eventos (directorio público)
- Configuración de archivo .env para establecer el puerto de conexión
dotenv
: Librería para configurar variables globalesexpress
: framework del backendsocket.io
: implementación de sockets en el servidoruuid
: generador de identificadores únicosbcryptjs
: generador de tokenscors
: Middleware para NodeJS para habilitar configuración CORS en el servidorexpress-validator
: validaciones de camposjsonwebtoken
: servicios de autenticaciónmongoose
: gestión de colecciones de datos en base de datos mongomorgan
: Middleware para NodeJS para impresión de solicitudes httpdebug
: Herramienta de depuración de código
El código fuente de esta aplicación esta escrito por Bryan Aguilar (Desarrollador de Eitecknologia)
- Website - www.bryan-aguilar.com
- Medium - baguilar6174
- LinkeIn - baguilar6174
- Email - [email protected]