{"id":18684961,"url":"https://github.com/nevinmathew/todo-list","last_synced_at":"2025-08-31T15:19:55.667Z","repository":{"id":194065499,"uuid":"690026654","full_name":"nevinmathew/ToDo-List","owner":"nevinmathew","description":"This repository contains the configuration and source code for a Spring Boot application that manages a ToDo list, with settings for encryption, database connectivity, Spring Boot Admin integration, and more.","archived":false,"fork":false,"pushed_at":"2024-02-04T09:55:05.000Z","size":127,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-28T00:22:06.908Z","etag":null,"topics":["asynchronous-processing","encryption","jasypt","logging-configuration","openapi3","spring-boot-admin","swagger","todo-list"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nevinmathew.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}},"created_at":"2023-09-11T11:50:07.000Z","updated_at":"2023-11-03T15:53:35.000Z","dependencies_parsed_at":"2023-10-03T10:39:40.694Z","dependency_job_id":"27716f2a-197b-43e2-bccc-cc35055668d3","html_url":"https://github.com/nevinmathew/ToDo-List","commit_stats":null,"previous_names":["nevinmathew/todo-list"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nevinmathew%2FToDo-List","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nevinmathew%2FToDo-List/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nevinmathew%2FToDo-List/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nevinmathew%2FToDo-List/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nevinmathew","download_url":"https://codeload.github.com/nevinmathew/ToDo-List/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239540418,"owners_count":19656002,"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":["asynchronous-processing","encryption","jasypt","logging-configuration","openapi3","spring-boot-admin","swagger","todo-list"],"created_at":"2024-11-07T10:19:53.016Z","updated_at":"2025-02-18T19:45:37.677Z","avatar_url":"https://github.com/nevinmathew.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ToDo-List\n\n## Overview\nThe ToDo List is a Java-based Spring Boot application that provides functionality for managing ToDo tasks. It allows users to create, retrieve, update, and delete tasks, and also includes features such as task prioritization and categorization.\n\n## Table of Contents\n- [Languages and Tools](#languages-and-tools)\n- [Features](#features)\n- [Usage](#usage)\n- [Configuration](#configuration)\n  - [Asynchronous Processing](#asynchronous-processing)\n  - [Encryption](#encryption)\n  - [OpenAPI (Swagger) Documentation](#openAPI-(swagger)-documentation)\n  - [Spring Boot Admin](#spring-boot-admin)\n- [License](#license)\n\n## Languages and Tools\n![Spring Boot](https://skillicons.dev/icons?i=spring\u0026theme=light) ![MySql](https://skillicons.dev/icons?i=mysql) ![AWS](https://skillicons.dev/icons?i=aws)\n\n## Features\n\n- **Task Management:** Create, update, retrieve, and delete tasks with ease.\n- **Category Support:** Organize tasks by assigning them to categories.\n- **Validation:** Input validation ensures data integrity and security.\n- **Asynchronous Processing:** Utilizes asynchronous processing for improved responsiveness and performance.\n- **Caching:** Implements caching to optimize task retrieval.\n- **Swagger Documentation:** Includes OpenAPI (Swagger) documentation for API exploration.\n- **Spring Boot Admin Integration:** Integrates with Spring Boot Admin for monitoring and management.\n- **Jasypt Encryption:** Supports data encryption for sensitive information.\n- **Custom ExecutorService:** Configures a custom `ThreadPoolTaskExecutor` for asynchronous task execution.\n- **Global Exception Handling:** Provides global exception handling.\n\n## Usage\nAccess the application through your web browser or API client at http://localhost:8080.\n\nUse the API endpoints to create, retrieve, update, and delete ToDo tasks.\n\n## Configuration\nThe application uses Spring Boot and Spring Caching for performance optimization.\n\n### Asynchronous Processing\nAsynchronous processing is employed in this application to enhance responsiveness and performance. Key components related to asynchronous processing include:\n\nA custom `ThreadPoolTaskExecutor` bean for executing tasks asynchronously.\n`CompletableFuture` and the `@Async` annotation to perform tasks asynchronously.\nOffloading time-consuming operations to separate threads for improved user experience.\n\nThe custom `ThreadPoolTaskExecutor` is defined in ExecutorServiceConfig. You can adjust its core pool size, maximum pool size, queue capacity, and thread name prefix according to your requirements.\n\n### Encryption\nIf you require encryption for sensitive data, you can set up Jasypt encryption by modifying EncryptionConfiguration. The application supports both property-based and environment variable-based encryption configuration.\n\n### OpenAPI (Swagger) Documentation\nThis application provides OpenAPI (Swagger) documentation for easy API exploration. You can access the API documentation at http://localhost:9090/actuator/swagger-ui/index.html.\n\n### Spring Boot Admin\nThis application is configured to interact with Spring Boot Admin. You can access the Spring Boot Admin dashboard at http://localhost:8080/applications to monitor the application's health and status.\n\n## License\nThis project is licensed under the Mozilla Public License (MPL) - see the [LICENSE](https://github.com/nevinmathew/ToDo-List/blob/main/LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnevinmathew%2Ftodo-list","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnevinmathew%2Ftodo-list","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnevinmathew%2Ftodo-list/lists"}