GithubHelp home page GithubHelp logo

chat-dsi's Introduction

MEAN Chat App

Una pequeña aplicación de chat creada con el stack MEAN

Integrantes de la aplicación:

  • Luis Gabriel González López
  • Manuel David Montalvan
  • Lina Magally Moreno Ulloa

Features

Registrar y autenticar usuarios usando tokens web JSON

  • Únase a una sala común donde puede chatear con todos los usuarios registrados

  • Abra conversaciones privadas 1 a 1 con un usuario de su elección

  • Notificaciones de mensajes sobre conversaciones en segundo plano.

  • Tenga una UI/UX agradable creada para verse increíble desde el móvil al escritorio

Empezando

Requisitos

# clone the repo
git clone https://github.com/LuisGonzalez321/chat-dsi.git

# [backend api]
# cambiar al directorio repo
cd back

# instalar dependencias del servidor
npm install

# !¡cree un archivo .env con el modelo de .env.example!
cp .env.example .env

# iniciar el servidor de desarrollo
npm run dev


# ahora abre otra ventana de terminal
# [aplicación angular de]
# cambiar al directorio angular src
cd front

# instalar dependencias frontend
npm install

# iniciar el servidor de desarrollo angular
npm start

Then visit http://localhost:4200 in your browser.

Technologies

  • NodeJS - Solución de elección del lado del servidor/backend de JavaScript

  • Express - Marco de node que facilita el manejo de solicitudes http

    • JsonWebToken - paquete que ayuda a generar JWT para una autenticación segura

    • PassportJS - middleware de autenticación utilizado para proteger ciertas partes de la aplicación para solicitudes no autenticadas

  • MongoDB - solución de almacenamiento de datos que solo habla JSON y se empareja muy bien con Node

    • Mongoose - paquete que ayuda con el modelado de objetos y administra la conexión entre el servidor y la base de datos

    • Bcryptjs - para saltear y codificar la contraseña de usuario que se almacenará en la base de datos

Cómo funciona

En el lado del cliente, los usuarios pueden crear cuentas que se almacenarán en la base de datos. Luego, los usuarios pueden autenticarse con las credenciales dadas, si son correctas, el servidor envía un token único al cliente. El cliente lo almacena para usarlo en solicitudes de ruta de back-end restringidas.

Una vez autenticado, el servidor crea una conexión bidireccional de socket con el cliente para facilitar la funcionalidad de chat.

Cada vez que un usuario envía un mensaje, este va al servidor que lo redirige al encuestado deseado. Además cada vez que un usuario entra o sale del chat, el servidor anuncia todos los clientes conectados.

chat-dsi's People

Contributors

luisgonzalez321 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.