An open API service indexing awesome lists of open source software.

https://github.com/martinpcdev/taskcontrol

Apliacion de Gestion de Tareas
https://github.com/martinpcdev/taskcontrol

angular api-rest java postgresql spring-boot tailwindcss

Last synced: about 2 months ago
JSON representation

Apliacion de Gestion de Tareas

Awesome Lists containing this project

README

          

# TaskControl

**TaskControl** es una aplicación web para la gestión de tareas. Esta herramienta permite a los usuarios crear, actualizar, eliminar y buscar tareas mediante un sistema completo de filtros y paginación, tanto en el backend como en el frontend.

## Características

### Backend
- **Framework**: Spring Boot
- **Base de datos**: PostgreSQL
- **Docker**: Dockerizado para fácil despliegue
- **Características clave**:
- Paginación en las rutas
- Filtros por fecha
- Filtros por categoría
- CRUD completo para la entidad `Task`

### Frontend
- **Framework**: Angular 18
- **Estilos**: TailwindCSS
- **Características clave**:
- Paginación en la interfaz
- Filtros interactivos
- Opción para restablecer filtros

## Estructura del Proyecto

```plaintext
TaskControl/
├─ backend/ # Código del backend (Spring Boot)
├── src/ # Código fuente del backend
├── Dockerfile # Configuración de Docker para el backend
└── docker-compose.yml # Archivo de configuración para Docker Compose
├─ frontend/ # Código del frontend (Angular)
├── src/ # Código fuente del frontend
├── tailwind.config.js # Configuración de TailwindCSS
└── ...

```

## Instalación y Configuración

### Requisitos previos
- Docker y Docker Compose instalados
- Node.js y npm instalados para desarrollo del frontend
- Java 17 y Maven instalados para desarrollo del backend

### Pasos para el despliegue
1. **Clonar el repositorio**
```bash
git clone https://github.com/usuario/taskcontrol.git
cd taskcontrol
```

2. **Configurar el backend**
- Crear un archivo `application.properties` en `backend/src/main/resources` con los datos de conexión a PostgreSQL:
```properties
spring.application.name=task_control
server.servlet.context-path=/api/v1
spring.datasource.url=jdbc:postgresql://task_control:5432/taskcontroldb
spring.datasource.username=martinpc
spring.datasource.password=123456
spring.datasource.driver-class-name=org.postgresql.Driver
spring.jpa.hibernate.ddl-auto=update
```

3. **Iniciar los servicios con Docker Compose**
```bash
docker-compose up --build
```

4. **Acceder a la aplicación**
- Frontend: [http://localhost:4200](http://localhost:4200)
- Backend: [http://localhost:8080/api/tasks](http://localhost:8080/api/tasks)

## Uso

### Backend (API REST)
- **Endpoints principales**:
- `GET /api/tasks`: Obtener una lista de tareas con paginación y filtros
- `POST /api/tasks`: Crear una nueva tarea
- `PUT /api/tasks/{id}`: Actualizar una tarea existente
- `DELETE /api/tasks/{id}`: Eliminar una tarea

### Frontend
- Interfaz gráfica para crear, visualizar y gestionar tareas
- Paginación y filtros integrados para una experiencia optimizada
- Botón para restablecer los filtros y mostrar todas las tareas

## Tecnologías Utilizadas

### Backend
- Spring Boot
- PostgreSQL
- Docker

### Frontend
- Angular 18
- TailwindCSS