Backend - Spring Boot
Spring Boot es un framework para desarrollar aplicaciones independientes basadas en Spring, simplificando el proceso de desarrollo y ofreciendo configuración automática. Proporciona servidores web integrados como Tomcat, Undertow o Jetty, facilitando el despliegue y ejecución con un simple comando java -jar. Además, ofrece soporte Actuator para monitoreo y gestión en tiempo real.
Frontend - Vue.js
Vue.js es un framwork JavaScript popular para interfaces de usuario y aplicaciones de página única. Con un sistema de enlace de datos reactivo y componentes reutilizables, Vue.js facilita el desarrollo y mantenimiento de aplicaciones complejas.
Código Principal
package sistema;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.mybatis.spring.annotation.MapperScan;
@SpringBootApplication
@MapperScan("sistema.repositorio")
public class SistemaAlmacen {
public static void main(String[] args) {
SpringApplication.run(SistemaAlmacen.class, args);
}
}
package controlador;
import org.springframework.web.bind.annotation.*;
import servicio.UsuarioServicio;
import entidad.Usuario;
import respuesta.Respuesta;
import java.util.Date;
@RestController
@RequestMapping("/usuario")
public class UsuarioControlador {
private final UsuarioServicio usuarioServicio;
public UsuarioControlador(UsuarioServicio usuarioServicio) {
this.usuarioServicio = usuarioServicio;
}
@PostMapping("/iniciarSesion")
public Respuesta iniciarSesion(@RequestParam String usuario, @RequestParam String contrasena) {
Usuario u = usuarioServicio.buscarPorCuenta(usuario);
if (u == null || !u.getContrasena().equals(contrasena)) {
return Respuesta.error("Credenciales incorrectas");
}
return Respuesta.ok("Inicio de sesión exitoso").put("token", "generado_token");
}
@PostMapping("/registrar")
public Respuesta registrar(@RequestBody Usuario nuevoUsuario) {
if (usuarioServicio.existe(nuevoUsuario.getCuenta())) {
return Respuesta.error("Usuario ya registrado");
}
nuevoUsuario.setId(new Date().getTime());
usuarioServicio.guardar(nuevoUsuario);
return Respuesta.ok();
}
@PostMapping("/cerrarSesion")
public Respuesta cerrarSesion() {
// Lógica para invalidar sesión
return Respuesta.ok("Sesión cerrada correctamente");
}
}
Pruebas del Sistema
Las pruebas del sistema buscan identificar y corregir defectos mediante pruebas funcionales exhaustivas. El objetivo principal es garentizar que todas las funcionalidades cumplan con los requisitos especificados y proporcionen una experiencia fluida al usuario final.