Aplicación Full Stack de Gestión de Notas

Java 17+ Spring Boot 3 React 18 Bootstrap Maven PostgreSQL H2 Database
Dashboard principal de la aplicación
Dashboard principal de la aplicación Crear nueva nota Notas archivadas Modo claro de la aplicación Pantalla de inicio de sesión

Descripción del proyecto

Esta aplicación full stack de gestión de notas es un proyecto completo desarrollado como ejercicio para demostrar habilidades en desarrollo moderno. Construida con Spring Boot en el backend y React en el frontend, la aplicación permite a los usuarios gestionar sus notas de manera eficiente con un sistema avanzado de categorización.

El backend implementa una arquitectura de capas limpia (Controllers, Services, Repositories, Models) con persistencia en base de datos relacional mediante JPA/Hibernate. El frontend es una SPA moderna desarrollada en React con componentes modulares y gestión de estado mediante Context API.

Características principales:

  • Creación, edición y eliminación de notas de forma intuitiva
  • Sistema de archivado para organizar notas antiguas
  • Gestión completa de categorías personalizables
  • Filtrado avanzado por categorías y estado
  • Autenticación simple con localStorage
  • API REST completamente documentada
  • Interfaz responsive con Bootstrap
  • Soporte para H2 (desarrollo) y PostgreSQL (producción)
  • Scripts automatizados para Windows y Linux/macOS

Arquitectura y patrones de diseño

El proyecto sigue una arquitectura hexagonal en el backend, separando claramente las responsabilidades entre capas. Se implementaron patrones como Repository, Service Layer y DTO para mantener un código limpio y mantenible.

En el frontend, se utilizó un enfoque de componentes modulares con React, implementando hooks personalizados para la lógica reutilizable y Context API para el manejo del estado global. La comunicación con el backend se realiza mediante Axios con interceptores para el manejo de errores.

Tecnologías utilizadas

Backend:

  • Java 17+ como lenguaje principal
  • Spring Boot 3 para el framework web
  • Spring Data JPA para la persistencia
  • H2 Database para desarrollo local
  • PostgreSQL para entorno de producción
  • Maven para gestión de dependencias
  • Spring Boot DevTools para desarrollo

Frontend:

  • React 18 con hooks y context API
  • Node.js 18+ como entorno de ejecución
  • Axios para comunicación HTTP
  • Bootstrap para estilos y componentes
  • CSS3 moderno con variables personalizadas
  • Responsive design para todos los dispositivos

Herramientas y metodologías:

  • Git para control de versiones
  • Scripts automatizados multiplataforma
  • Documentación detallada y credenciales de prueba
  • Arquitectura preparada para contenedores
  • Configuración para múltiples entornos
¿Quieres una aplicación de gestión de notas como esta?