MarckosBilbo / Programacion-Concurrente-Sistema-DeSeguridad-Concurrente-develop-master

0 stars 0 forks source link

Proyecto de Sistema de Seguridad Concurrente

Marcos García, Alberto Valera, Samuel Muñoz y Rodrigo Rojas.

Repositorio(DEFINITIVO)-->https://github.com/MarckosBilbo/Programacion-Concurrente-Sistema-DeSeguridad-Concurrente-develop-master

Repositorio (NO TERMINADO) para ver commits)-->https://github.com/Programacion-Concurrente/Programacion-Concurrente-Sistema-DeSeguridad-Concurrente

-Este proyecto consiste en una aplicación de seguridad concurrente desarrollada con Spring Boot en el backend y Angular en el frontend. La aplicación permite la gestión de usuarios y la monitorización de eventos generados por sensores.

Ejecución del Proyecto

-Backend: Ejecutar la aplicación Spring Boot (Muestra los hilos por consola)

-Frontend: Ejecutar la aplicación Angular (Por desgracia dicho fronend no se abre en base a la ejecucion de la Springboot aplicattion)

-Navegador: Una vez lanzada la aplicattion (Springboot) por consola al menos se puede acceder (mientrar aun "Runnea") a http://localhost:8080 para interactuar con la aplicación(Angular frontend).

Funcionalidad General

Clases Importantes del Backend

Usuario.java

Define la entidad Usuario con atributos como idUsuario, nombre y rol. Los roles pueden ser ADMIN o USER.

UsuarioRepository.java

Interfaz que extiende JpaRepository para operaciones CRUD en la entidad Usuario.

UsuarioService.java

Servicio que contiene la lógica de negocio relacionada con los usuarios, como el inicio de sesión y la creación de usuarios.

AuthController.java

Controlador REST que maneja las solicitudes de autenticación y creación de usuarios.

SensorMonitorService.java

Servicio que gestiona la generación y asignación de eventos a los sensores. Utiliza un ExecutorService para manejar la concurrencia.

SensorMonitorResource.java

Controlador REST que expone un endpoint para generar eventos aleatorios de sensores.

Clases Secundarias

Sensores de Movimiento

Sensores de Temperatura

Sensores de Acceso

Eventos

DOCKER.COMPOSE.YML:

services:

backend: ports:

Configuración de Rutas en Angular


import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { LoginComponent } from './login/login.component';
import { AdminDashboardComponent } from './admin/admin-dashboard.component';
import { UserDashboardComponent } from './user/user-dashboard.component';

const routes: Routes = [
  { path: '', component: LoginComponent },
  { path: 'admin/dashboard', component: AdminDashboardComponent },
  { path: 'user/dashboard', component: UserDashboardComponent }
];

@NgModule({
  imports: [RouterModule.forRoot(routes)],
  exports: [RouterModule]
})
export class AppRoutingModule {}