Este es el documento explicativo del proyecto "Synergy Connect". Este es un proyecto que nace con la idea de realizar una web que tenga una función de facilitar el trabajo de equipos y la comunicación entre los miembros. En el backend contaremos con los servicios para utilizar las funciones propias de un CRUD de notas que se gestionarán con la base de datos de Mongo DB. También existirán las funciones para gestionar información acerca de los usuarios conectados. El lado del cliente por su parte contará con 3 secciones en la web: 1ª Información y explicación de la web, donde se podrán consultar las personas conectadas al dominio 2ª Tablero de notas con las tareas por hacer 3ª Foro donde cualquier persona pueda escribir un mensaje para todas las personas conectadas.
Como el proyecto del server ocupa un puerto en el localhost, he decidido que desde él puedas leer este mismo readme a diferencia de esta frase que estás leyendo en este documento.
https://github.com/Danielbzg/synergy-connect-server
npm install
3. Instalar Docker desktop y que esté ejecutándose. Levantar el servicio de docker con el siguiente comando:
docker-compose up -d
Puede que docker dé algún tipo de problema en el caso de que tengas ocupado el puerto 27017 con otra base de datos. Si es este el caso deberás cambiar el puerto en el archivo docker-compose.yaml
# watch mode
$ npm run start:dev
- Método:
POST
- Ruta:
/notas
- Descripción: Crea una nueva nota con los datos proporcionados.
- Parámetros:
id
(string): Identificador único de la nota.createCrudNoteDto
(object): Datos de la nota a crear.
- Respuesta: Retorna la nota creada.
- Método:
GET
- Ruta:
/notas
- Descripción: Obtiene todas las notas existentes.
- Respuesta: Retorna un array con todas las notas.
- Método:
GET
- Ruta:
/notas/:id
- Descripción: Obtiene una nota específica según su ID.
- Parámetros:
id
(string): Identificador único de la nota.
- Respuesta: Retorna la nota encontrada o devuelve un error si no se encuentra.
- Método:
PUT
- Ruta:
/notas/:id
- Descripción: Actualiza una nota existente según su ID.
- Parámetros:
updateCrudNoteDto
(object): Datos actualizados de la nota.
- Respuesta: Retorna la nota actualizada.
- Método:
DELETE
- Ruta:
/notas/:id
- Descripción: Elimina una nota existente según su ID.
- Parámetros:
id
(string): Identificador único de la nota a eliminar.
- Respuesta: Retorna un mensaje de éxito o un error si la nota no se encuentra.
- Método:
POST
- Ruta:
/registrar-cliente
- Descripción: Registra un nuevo cliente conectado al servidor.
- Parámetros:
client
(object): Datos del cliente a registrar.
- Respuesta: No hay respuesta definida.
- Método:
DELETE
- Ruta:
/eliminar-cliente/:id
- Descripción: Elimina un cliente registrado del servidor según su ID.
- Parámetros:
id
(string): Identificador único del cliente a eliminar.
- Respuesta: No hay respuesta definida.
- Método:
GET
- Ruta:
/cliente/:id
- Descripción: Obtiene los detalles de un cliente conectado según su ID.
- Parámetros:
id
(string): Identificador único del cliente.
- Respuesta: Retorna los detalles del cliente o
null
si no se encuentra.
- Método:
GET
- Ruta:
/cantidad-clientes
- Descripción: Obtiene la cantidad total de clientes conectados al servidor.
- Respuesta: Retorna un número entero representando la cantidad de clientes.
- Método:
GET
- Ruta:
/clientes-conectados
- Descripción: Obtiene los IDs de todos los clientes actualmente conectados al servidor.
- Respuesta: Retorna un array con los IDs de los clientes conectados.