Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

DED Dashboard v2

A tiny daily task board for one-shot and periodic tasks. It is built as a Vite + React single page app and uses backend v2 for task storage.

What it does

  • Shows today's tasks in two columns: To do and Done.
  • Lets you drag tasks between columns.
  • Shows task descriptions through the native hover tooltip.
  • Marks tasks with an unfinished previous occurrence as Overdue.
  • Hides completed one-shot tasks and completed periodic occurrences on the next day unless they are scheduled again.
  • Supports uploading, downloading, and deleting the full JSON task list.

Local development

Install dependencies:

npm install

Run the dev server:

npm run dev

Open the URL printed by Vite. By default this app uses:

http://localhost:5174/

By default, the app calls the same-origin backend v2 API:

/api

To point at a different backend v2 instance, set:

$env:VITE_BACKEND_V2_API_BASE_URL = "https://your-backend-host/api"

Build production assets:

npm run build

Preview the production build:

npm run preview

Run TypeScript checks:

npm run typecheck

Task JSON format

Downloads use this shape:

{
  "version": 1,
  "exportedAt": "2026-05-26T00:00:00.000Z",
  "tasks": [
    {
      "id": "task-id",
      "kind": "periodic",
      "title": "Water plants",
      "description": "Kitchen and balcony",
      "startDate": "2026-05-26",
      "frequencyDays": 2,
      "completedDates": ["2026-05-26"],
      "createdAt": "2026-05-26T00:00:00.000Z",
      "updatedAt": "2026-05-26T00:00:00.000Z"
    }
  ]
}

Uploads may contain either the full object above or a raw array of tasks. Uploaded tasks are merged into existing tasks by id; completion dates are combined.

Architecture

The app separates three concerns:

  • src/domain/tasks.ts contains scheduling, completion, import normalization, and merge behavior.
  • src/storage/taskRepository.ts defines the repository interface, the backend v2 HTTP implementation, and a localStorage implementation for local fallback/testing.
  • src/main.tsx contains the page flow and user interactions.

CI/CD To Azure App Service

The workflow at .github/workflows/azure.yml runs on every push to main, builds the frontend, and deploys the generated dist files into the existing backend App Service static-file directory.

Required repository variables:

  • BACKEND_V2_API_BASE_URL, for example https://app-ded-backend-v2-dev-a9uus6.azurewebsites.net/api
  • AZURE_WEBAPP_RESOURCE_GROUP, for example rg-ded-backend-v2-dev
  • AZURE_WEBAPP_NAME, for example app-ded-backend-v2-dev-a9uus6

Required repository secret:

  • AZURE_CREDENTIALS, a service principal JSON accepted by azure/login.

The app is served by the Azure App Service host:

https://app-ded-backend-v2-dev-a9uus6.azurewebsites.net/

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages