commit 3246de4e8d94ca76e40324a0dc8598b6676468ed Author: Dym Sohin Date: Wed Oct 4 02:20:32 2023 +0200 re-init diff --git a/_intervals/create_example_task b/_intervals/create_example_task new file mode 100644 index 0000000..c227083 --- /dev/null +++ b/_intervals/create_example_task @@ -0,0 +1 @@ +0 \ No newline at end of file diff --git a/_pings/create_example_task b/_pings/create_example_task new file mode 100644 index 0000000..6c7a505 --- /dev/null +++ b/_pings/create_example_task @@ -0,0 +1 @@ +1633502835 \ No newline at end of file diff --git a/_tasks/create_example_task b/_tasks/create_example_task new file mode 100644 index 0000000..2f77762 --- /dev/null +++ b/_tasks/create_example_task @@ -0,0 +1 @@ +manually create a task for Readme-Driven-Development \ No newline at end of file diff --git a/index.php b/index.php new file mode 100644 index 0000000..a88fc3c --- /dev/null +++ b/index.php @@ -0,0 +1,12 @@ + \ No newline at end of file diff --git a/meta.kdl b/meta.kdl new file mode 100644 index 0000000..b3aa1dc --- /dev/null +++ b/meta.kdl @@ -0,0 +1,7 @@ +name "asyncron" +description "a synchronized checklist verification" +media-type "app" +tags "ping" "api" "checklist" +license "AGPL" +homepage "https://dym.sh/asyncron/" +source "https://source.garden/apps/asyncron/" diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..35e68f5 --- /dev/null +++ b/readme.md @@ -0,0 +1,44 @@ +# Asyncron™ + +> a synchronized checklist verification \ +> (lightweight Dead Man's Snitch alternative) + +## Premise + +1. Give an interval on how often some task must be accomplished, and pinged +2. Check periodically + +## Screenshot + +![screenshot](screenshot.png) + +## Installation + +- put on a local network, or some subdomain prob +- script only needs read+write access to the current directory, to keep track of tasks and pings +- no database needed +- no javascript needed + +## Usage + +1. open script's url (eg. `http://ping.local`) and create some tasks +2. automate verification of accomplishments (like cron scripts) +3. for manual completion – click on the task and press the «Ping Manually» button + +### shell scripts and crontab + +> `crontab -l` + +```sh +15 10 * * * ~/backup.sh && curl -X PATCH 'http://ping.local/?backup' +``` + +### http API + +- `GET` – returns `1` if task was pinged and interval has not yet expired, otherwise `0` +- `POST` – create/reactivate task +- `PUT` – update description and/or interval +- `PATCH` – ping a completion +- `DELETE` – deactivate task + +more details in the source code \ No newline at end of file