{"id":16099530,"url":"https://github.com/destrolaric/keyvaluedatabaseservice","last_synced_at":"2026-04-30T10:05:43.581Z","repository":{"id":157253591,"uuid":"412500492","full_name":"Destrolaric/KeyValueDatabaseService","owner":"Destrolaric","description":"Service to work with IN-MEMORY H2 database, has TTL for all entries after which they are deleted.","archived":false,"fork":false,"pushed_at":"2022-02-24T15:56:31.000Z","size":67,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"dev","last_synced_at":"2025-04-05T23:29:22.932Z","etag":null,"topics":["h2-database","java","spring"],"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/Destrolaric.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":"2021-10-01T14:31:56.000Z","updated_at":"2021-10-01T15:18:19.000Z","dependencies_parsed_at":null,"dependency_job_id":"1848c7ef-cf50-4a3b-8676-c2c51cf501f0","html_url":"https://github.com/Destrolaric/KeyValueDatabaseService","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Destrolaric/KeyValueDatabaseService","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Destrolaric%2FKeyValueDatabaseService","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Destrolaric%2FKeyValueDatabaseService/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Destrolaric%2FKeyValueDatabaseService/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Destrolaric%2FKeyValueDatabaseService/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Destrolaric","download_url":"https://codeload.github.com/Destrolaric/KeyValueDatabaseService/tar.gz/refs/heads/dev","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Destrolaric%2FKeyValueDatabaseService/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32460812,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T22:27:22.272Z","status":"online","status_checked_at":"2026-04-30T02:00:05.929Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["h2-database","java","spring"],"created_at":"2024-10-09T18:43:37.358Z","updated_at":"2026-04-30T10:05:43.567Z","avatar_url":"https://github.com/Destrolaric.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Общие сведения по веб-приложению\nRest веб-приложение предназначенное для обработки запросов пользователя и для работы с in-memory базой с TTL для каждой записи.\n* Java 11\n* Spring MVC\n* Database H2(IN-MEMORY)\n* Архитектура\n    * Controller - отвечает за получение запросов пользователей и дальнейшую отправку результата. Имеет следующие Endpoints\n      * get - Get запрос, требует ключ, выводит content по ключу, в случае отсутствия записи выдаёт метку.\n      * set - Post запрос, требует ключ, content также возможно указание ttl записи(в случае если не указано принимается время жизни в 100 секунд)\n      * remove - Delete запрос, требует ключ записи, удаляет запись, иначе возвращает код об отсутствии записи.\n      * dump - Patch запрос, сохраняет текущие записи в таблице в dump.json файл.\n      * load - Patch запрос, загружает данные из файла в базу.\n    * Service - отвечает за работу с repository классами, принимает запрос от контроллера, переводя их в соответствующие запросы к классам.\n    * DumpFileRepository - отвечает за создание, изменение, загрузку с файла дампа.\n    * TimedKeyValueRepository - отвечает за работу непосредственно с базой данных.\n    * CleanerDao - отвечает за периодическую очистку устаревших данных. Стартует при запуске программы.\n    * Exceptions - отвечают за обработку/вывод исключений.\n    * model - Класс с чётко обозначенной структурой для взаимодействия с базой.\n\n## Как запустить.\nДля запуска приложения необходимо скомпилировать его классы с помощью `mvn compile`, в случае, если мы хотим получить Jar файл, необходимо использовать `mvn package`. При использовании jar файла достаточно простого запуска. Файл соберётся и запустит сервер на порту 8080.\n### Примеры команд\n```\nGET http://localhost:8080/get?key=dadaada\nPOST http://localhost:8080/set?key=test\u0026data=test\u0026ttl=100\nPOST http://localhost:8080/set?key=dadaadas1121\u0026data=dssds22\u0026ttl=104\nPATCH http://localhost:8080/dump\nPATCH http://localhost:8080/load\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdestrolaric%2Fkeyvaluedatabaseservice","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdestrolaric%2Fkeyvaluedatabaseservice","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdestrolaric%2Fkeyvaluedatabaseservice/lists"}