{"id":24649556,"url":"https://github.com/kateyst/taskflow","last_synced_at":"2026-04-13T23:03:05.550Z","repository":{"id":273111996,"uuid":"918644397","full_name":"KateySt/taskflow","owner":"KateySt","description":"Task Management System built with Spring Boot, designed to manage users, projects, and tasks efficiently. The project implements a  backend solution, including authentication, authorization, CRUD operations, notifications, analytics, and API documentation.","archived":false,"fork":false,"pushed_at":"2025-04-19T10:55:44.000Z","size":100,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-19T16:21:58.181Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KateySt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2025-01-18T13:38:15.000Z","updated_at":"2025-04-19T10:55:48.000Z","dependencies_parsed_at":"2025-01-18T19:24:11.956Z","dependency_job_id":"1f146c7f-212e-4e72-818e-30d978657293","html_url":"https://github.com/KateySt/taskflow","commit_stats":null,"previous_names":["kateyst/taskflow"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/KateySt/taskflow","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KateySt%2Ftaskflow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KateySt%2Ftaskflow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KateySt%2Ftaskflow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KateySt%2Ftaskflow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KateySt","download_url":"https://codeload.github.com/KateySt/taskflow/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KateySt%2Ftaskflow/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31774547,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-13T20:17:16.280Z","status":"ssl_error","status_checked_at":"2026-04-13T20:17:08.216Z","response_time":93,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":[],"created_at":"2025-01-25T17:17:38.377Z","updated_at":"2026-04-13T23:03:05.545Z","avatar_url":"https://github.com/KateySt.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Task Management System\n\n**Task Management System** built with **Spring Boot**, designed to facilitate efficient user, project, and task management. The system supports authentication, authorization, CRUD operations, notifications, analytics, and API documentation.\n\n## Features\n\n### Project Setup\n- Spring Boot with essential dependencies:\n  - **Spring Web, Spring Data JPA, Spring Security, Spring Mail**\n  - **Hibernate, JWT, PostgreSQL/MySQL, Lombok, MapStruct**\n  - **Swagger for API documentation**\n- Configuration:\n  - Database connection via `application.yml`\n  - Logging with SLF4J\n  - Database migrations using Liquibase\n\n### Data Model\n####  Entities\n- **User**: `id`, `email`, `password`, `name`, `role`, `created_at`\n- **Project**: `id`, `name`, `description`, `created_by`, `created_at`\n- **Task**: `id`, `title`, `description`, `priority`, `status`, `assigned_to`, `project_id`, `deadline`, `created_at`\n\n#### Relationships\n- **User → Project**: One-to-many\n- **User → Task**: One-to-many\n- **Project → Task**: One-to-many\n\n### Authentication \u0026 Authorization\n**Authentication**\n- JWT-based authentication\n- Endpoints:\n  - `POST /auth/login` - Generates a JWT token\n  - `POST /auth/register` - Registers a new user with a default role\n- Password encryption using `BCryptPasswordEncoder`\n\n **Authorization**\n- **Role-based access control** (Admin, Manager, User)\n- Secure endpoints with **Spring Security + JWT validation**\n\n### Project Management (CRUD Operations)\n#### **Project Endpoints**\n- `POST /projects` - Create a project\n- `GET /projects` - Retrieve all projects of the user\n- `GET /projects/{id}` - Retrieve project details\n- `PUT /projects/{id}` - Update a project\n- `DELETE /projects/{id}` - Delete a project\n\n### Task Management (CRUD Operations)\n#### **Task Endpoints**\n- `POST /tasks` - Create a task\n- `GET /tasks` - Retrieve all assigned tasks\n- `GET /tasks/{id}` - Retrieve task details\n- `PUT /tasks/{id}` - Update a task\n- `DELETE /tasks/{id}` - Delete a task\n\n **Features:**\n- Task statuses: `new`, `in progress`, `completed`\n- Priority levels: `low`, `medium`, `high`\n\n### Notifications System\n **Email Notifications**\n- Task creation alerts\n- Deadline reminders (using **Spring Scheduler**)\n\n **Real-Time Notifications**\n- WebSocket-based notifications for task updates\n\n### Analytics \u0026 Reporting\n **Analytics Endpoints**\n- `GET /projects/{id}/analytics` - Project task statistics\n- `GET /users/{id}/analytics` - User task statistics\n\n **Features:**\n- SQL-based real-time data aggregation\n- Export options: **CSV / Excel**\n\n###  API Documentation\n **Swagger / OpenAPI**\n- Automatically generated API documentation using **Springdoc**\n- Request \u0026 response examples included\n\n###  Testing \u0026 Quality Assurance\n **Testing Strategies:**\n- **Unit Tests** - Business logic validation with JUnit \u0026 Mockito\n- **Integration Tests** - REST API tests using MockMvc\n\n###  Deployment \u0026 CI/CD\n **Docker \u0026 CI/CD Integration**\n- **Dockerfile \u0026 docker-compose** for containerization\n- **GitHub Actions** for automated CI/CD pipelines\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkateyst%2Ftaskflow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkateyst%2Ftaskflow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkateyst%2Ftaskflow/lists"}