Skip to content

robertoHR96/quirkSpring

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

quirkSpring - Backend Colaborativo (Spring Boot)

Este proyecto es el backend de alto rendimiento encargado de gestionar la colaboración en tiempo real para la plataforma QCRAFT. Utiliza WebSockets para sincronizar las ediciones de circuitos cuánticos entre múltiples usuarios de forma instantánea.

Descripción General

A diferencia del backend de Django (QuantumWeb) que gestiona la persistencia, quirkSpring está especializado exclusivamente en la comunicación de baja latencia.

  • Servidor WebSocket: Expone un único endpoint WebSocket que actúa como el "punto único de verdad" para todas las operaciones de edición colaborativa.
  • Sincronización en Tiempo Real: Recibe las modificaciones de un cliente, las aplica a un estado del circuito en memoria y las retransmite a todos los demás clientes conectados a la misma sesión.
  • Gestión de Sesiones: Administra múltiples sesiones de edición de circuitos de forma concurrente, asociando a cada una los usuarios conectados.
  • Modelo de OT Simplificado: Implementa una lógica de transformación de operaciones (OT) simplificada para gestionar conflictos de inserción concurrente, asegurando que ninguna operación se pierda.
  • Persistencia en Memoria: Mantiene el estado de los circuitos activos completamente en memoria para minimizar la latencia.

Tecnologías Utilizadas

  • Framework: Spring Boot
  • Lenguaje: Java
  • Comunicación: WebSockets
  • Build Tool: Maven

Prerrequisitos

  • Java (JDK 17 o superior)
  • Maven

Instalación y Ejecución

  1. Clona este repositorio en tu máquina local.
  2. Navega a la carpeta del proyecto.
  3. Compila y ejecuta el servidor usando el wrapper de Maven:
    ./mvnw spring-boot:run

El servidor WebSocket se iniciará y estará listo para aceptar conexiones.

Relación con otros proyectos

Este backend es el motor de colaboración en tiempo real del ecosistema QCRAFT y funciona en conjunto con:

  1. QuantumWeb: El backend de Django que gestiona la persistencia de datos.
  2. ShareQuirk: El frontend en React, específicamente el editor Quirk, que se conecta a este servidor WebSocket para sincronizar los cambios.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages