{"id":28496272,"url":"https://github.com/mat1520/task-manager-springboot","last_synced_at":"2026-04-14T06:03:56.405Z","repository":{"id":297335392,"uuid":"995111969","full_name":"mat1520/Task-Manager-Springboot","owner":"mat1520","description":"Aplicación web para gestionar tareas (To-Do List) usando Java 17, Spring Boot, Thymeleaf, PostgreSQL y Bootstrap 5. Incluye despliegue gratuito en Render con conexión a base de datos y deploy automático desde GitHub.","archived":false,"fork":false,"pushed_at":"2025-06-05T01:45:29.000Z","size":1779,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-02T20:42:30.483Z","etag":null,"topics":["bootstrap5","java","postgresql","spring-security","springboot","task-list","task-manager","to-do-app"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mat1520.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-03T01:44:27.000Z","updated_at":"2025-06-05T01:47:46.000Z","dependencies_parsed_at":"2025-06-05T05:07:08.297Z","dependency_job_id":"22a7f7d4-b306-4e4d-9033-3608f9e2dba2","html_url":"https://github.com/mat1520/Task-Manager-Springboot","commit_stats":null,"previous_names":["mat1520/task-manager-springboot"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mat1520/Task-Manager-Springboot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mat1520%2FTask-Manager-Springboot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mat1520%2FTask-Manager-Springboot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mat1520%2FTask-Manager-Springboot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mat1520%2FTask-Manager-Springboot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mat1520","download_url":"https://codeload.github.com/mat1520/Task-Manager-Springboot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mat1520%2FTask-Manager-Springboot/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265281176,"owners_count":23739868,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bootstrap5","java","postgresql","spring-security","springboot","task-list","task-manager","to-do-app"],"created_at":"2025-06-08T12:07:04.562Z","updated_at":"2026-04-14T06:03:56.365Z","avatar_url":"https://github.com/mat1520.png","language":"HTML","readme":"# 🚀 Task Manager - Spring Boot Application\n\n\u003e **🟢 Despliegue en Producción:**\n\u003e \n\u003e Accede y prueba la app en vivo 👉 [Task Manager Spring Boot en Render](https://task-manager-springboot.onrender.com/register)\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"images/LOGOTASK.png\" alt=\"Task Manager Logo\" width=\"180\"/\u003e\n\u003c/p\u003e\n\n[![Spring Boot](https://img.shields.io/badge/Spring%20Boot-3.2.3-green.svg)](https://spring.io/projects/spring-boot)\n[![Java](https://img.shields.io/badge/Java-17-orange.svg)](https://www.oracle.com/java/)\n[![PostgreSQL](https://img.shields.io/badge/PostgreSQL-15-blue.svg)](https://www.postgresql.org/)\n[![Thymeleaf](https://img.shields.io/badge/Thymeleaf-3.1-green.svg)](https://www.thymeleaf.org/)\n[![Bootstrap](https://img.shields.io/badge/Bootstrap-5.3.2-purple.svg)](https://getbootstrap.com/)\n\n---\n\n## 📋 Descripción\nTask Manager es una aplicación web moderna desarrollada con **Spring Boot** que permite a los usuarios gestionar sus tareas diarias de manera eficiente. Cuenta con autenticación segura, interfaz intuitiva y despliegue profesional en la nube.\n\n---\n\n## 🖼️ Imágenes de la App\n\n### Login\n  \u003cimg src=\"images/LOGIN PAGE .png\" alt=\"Login Page\" width=\"600\"/\u003e\n\n### Registro\n\u003cimg src=\"images/REGISTRER PAGE.png\" alt=\"Register Page\" width=\"600\"/\u003e\n\n### Lista de Tareas\n\u003cimg src=\"images/TASK PAGE.png\" alt=\"Task Page\" width=\"600\"/\u003e\n\n---\n\n## 🛠️ Tecnologías Utilizadas\n- **Backend:** Spring Boot 3.2.3\n- **Frontend:** Thymeleaf + Bootstrap 5.3.2\n- **Base de Datos:** PostgreSQL\n- **Seguridad:** Spring Security\n- **Autenticación:** BCrypt Password Encoder\n- **Gestión de Dependencias:** Maven\n- **Despliegue:** Docker + Render.com\n\n---\n\n## ✨ Funcionalidades\n- ✅ Registro y autenticación de usuarios\n- ✅ Gestión CRUD de tareas personales\n- ✅ Interfaz responsiva y moderna\n- ✅ Validación de formularios y feedback visual\n- ✅ Protección CSRF y sesiones seguras\n- ✅ Filtros de tareas (todas, pendientes, completadas)\n- ✅ Logout seguro\n\n---\n\n## 🔄 Diagrama de Flujo de Funcionalidad\n\n```mermaid\ngraph TD;\n    A[Usuario] --\u003e|Visita| B[Login/Register]\n    B --\u003e|Login exitoso| C[Dashboard de Tareas]\n    C --\u003e|Crea tarea| D[Nueva tarea en BD]\n    C --\u003e|Marca como completada| E[Actualiza tarea]\n    C --\u003e|Elimina tarea| F[Borra tarea de BD]\n    C --\u003e|Logout| B\n    B --\u003e|Registro| G[Usuario nuevo en BD]\n```\n\n---\n\n## ⚙️ Instalación y Despliegue\n\n### 1. Clona el repositorio\n```bash\ngit clone https://github.com/mat1520/Task-Manager-Springboot.git\ncd Task-Manager-Springboot\n```\n\n### 2. Configura la base de datos PostgreSQL\n```properties\nspring.datasource.url=jdbc:postgresql://localhost:5432/tododb\nspring.datasource.username=postgres\nspring.datasource.password=tu_contraseña\n```\n\n### 3. Ejecuta localmente\n```bash\n./mvnw spring-boot:run\n```\n\n### 4. Despliegue en Render.com usando Docker\n- Se creó un `Dockerfile` para despliegue universal.\n- Render detecta el Dockerfile y construye la app automáticamente.\n- Variables de entorno necesarias:\n  - `DATABASE_URL`\n  - `DATABASE_USERNAME`\n  - `DATABASE_PASSWORD`\n  - `SPRING_PROFILES_ACTIVE=prod`\n\n#### Ejemplo de Dockerfile:\n```dockerfile\nFROM eclipse-temurin:17-jdk\nWORKDIR /app\nCOPY . .\nRUN chmod +x mvnw\nRUN ./mvnw clean package -DskipTests\nEXPOSE 8080\nCMD [\"java\", \"-jar\", \"target/todo-app-0.0.1-SNAPSHOT.jar\"]\n```\n\n---\n\n## 🧠 Lo que aprendimos de Spring Boot y el despliegue\n- Cómo estructurar un proyecto profesional con Spring Boot y Maven.\n- Seguridad con Spring Security y BCrypt.\n- Uso de Thymeleaf para vistas modernas y reactivas.\n- Validación de formularios y feedback visual.\n- Configuración de variables de entorno para producción.\n- Despliegue profesional usando Docker y Render.com.\n- Solución de problemas comunes de despliegue (permisos, entorno, base de datos, etc).\n\n---\n\n## 👨‍💻 Autor y Créditos\n- Creado por [@mat1520](https://github.com/mat1520)\n- Logo y diseño UI personalizados\n\n---\n\n## ⭐️ ¿Te gusta el proyecto?\n¡Dale una estrella en GitHub y compártelo!","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmat1520%2Ftask-manager-springboot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmat1520%2Ftask-manager-springboot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmat1520%2Ftask-manager-springboot/lists"}