Git Product home page Git Product logo

engraved's People

Contributors

pzyon avatar renovate-bot avatar renovate[bot] avatar

Stargazers

 avatar  avatar

Watchers

 avatar

engraved's Issues

Improvements for notes

  • Marked text is currently not visible
  • Shortcut to save (might not be necessary with autosave?)
  • Autosave
  • Falls asleep after a couple of minutes - WTF!?
  • Border of markdown editor when active
  • "Flackern" while typing (only in workplace?)
  • "Root" bullets are not fully visible
  • Consider introducing something like "sections" (with background)
  • Consider introducing table of contents (ToC)
  • Prevent users from navigating away when there are unsaved changes
  • When creating a new note,
    • go directly to edit page
    • show "not saved" instead of nothing (in place of where "edited on" was last saved
  • How to edit note title?

Share metrics

Affects

  • UI
    • Give permissions
    • Manage permissions
    • Display in list and details
  • API
    • Query metrics
    • Query measurements
    • Updates (when non owner)

Consider

  • IHavePermissions interface
  • PermissionKind (read, write)

[UI] Footer

Similar to engraved.

  • Link to github (commit hash?)
  • Version number (api and app?)
  • Release date

Action Required: Fix Renovate Configuration

There is an error with this repository's Renovate configuration that needs to be fixed. As a precaution, Renovate will stop PRs until it is resolved.

Location: renovate.json
Error type: The renovate configuration file contains some invalid settings
Message: packageRules[0]: Each packageRule must contain at least one match* or exclude* selector. Rule: {"automerge":true}

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Ignored or Blocked

These are blocked by an existing closed PR and will not be recreated unless you click a checkbox below.

Detected dependencies

github-actions
.github/workflows/api-bypass.yml
.github/workflows/api.yml
  • actions/checkout v4
  • actions/setup-dotnet v4
  • josStorer/get-current-time v2
  • actions/upload-artifact v4
  • actions/download-artifact v4
  • azure/webapps-deploy v3
  • actions/download-artifact v4
  • azure/webapps-deploy v3
  • ubuntu 20.04
.github/workflows/app-bypass.yml
.github/workflows/app.yml
  • actions/checkout v4
  • actions/setup-node v4
  • josStorer/get-current-time v2
  • actions/upload-artifact v4
  • actions/download-artifact v4
  • Azure/static-web-apps-deploy v1
.github/workflows/e2e-tests.yml
  • actions/checkout v4
  • actions/setup-dotnet v4
  • actions/setup-node v4
  • ubuntu 20.04
npm
app/package.json
  • @dnd-kit/core 6.1.0
  • @dnd-kit/sortable 8.0.0
  • @emotion/styled 11.11.5
  • @microsoft/applicationinsights-web 3.2.2
  • @mui/icons-material 5.15.20
  • @mui/material 5.15.20
  • @mui/styled-engine-sc 5.14.12
  • @mui/x-date-pickers 7.7.0
  • @tanstack/react-query 5.45.1
  • @tanstack/react-query-devtools 5.45.1
  • @testing-library/jest-dom 6.4.6
  • @testing-library/user-event 14.5.2
  • @types/jest 29.5.12
  • @types/node 20.14.4
  • @types/react 18.3.3
  • @types/react-dom 18.3.0
  • @uiw/codemirror-extensions-langs 4.22.2
  • @uiw/react-codemirror 4.22.2
  • @vitejs/plugin-react 4.3.1
  • chart.js 4.4.3
  • chartjs-adapter-date-fns 3.0.0
  • chartjs-plugin-annotation 3.0.1
  • chrono-node 2.7.6
  • date-fns 3.6.0
  • emoji-picker-react ^4.9.4
  • markdown-it 14.1.0
  • react 18.3.1
  • react-chartjs-2 5.2.0
  • react-dom 18.3.1
  • react-hotkeys-hook 4.5.0
  • react-onesignal 3.0.1
  • react-router-dom 6.23.1
  • typescript 5.4.5
  • vite 5.3.1
  • @tanstack/eslint-plugin-query 5.43.1
  • @types/jest 29.5.12
  • @types/markdown-it 14.1.1
  • @typescript-eslint/eslint-plugin 7.13.1
  • @typescript-eslint/parser 7.13.1
  • eslint 8.57.0
  • eslint-plugin-react 7.34.2
  • eslint-plugin-react-hooks 4.6.2
  • eslint-plugin-react-refresh ^0.4.5
  • jest 29.7.0
  • prettier 3.3.2
  • ts-jest 29.1.5
  • ts-node 10.9.2
  • vite-plugin-checker 0.6.4
  • @rollup/rollup-linux-x64-gnu 4.18.0
package.json
  • husky 9.0.11
  • lint-staged 15.2.7
tests/package.json
  • @playwright/test 1.44.1
  • @types/node 20.14.4
  • @typescript-eslint/eslint-plugin 7.13.1
  • @typescript-eslint/parser 7.13.1
  • eslint 8.57.0
  • eslint-plugin-playwright 1.6.2
  • prettier 3.3.2
nuget
api/Engraved.Api.Tests/Engraved.Api.Tests.csproj
  • coverlet.collector 6.0.2
  • NUnit.Analyzers 4.2.0
  • NUnit3TestAdapter 4.5.0
  • NUnit 4.1.0
  • FluentAssertions 6.12.0
  • Microsoft.NET.Test.Sdk 17.10.0
api/Engraved.Api/Engraved.Api.csproj
  • System.IdentityModel.Tokens.Jwt 7.6.1
  • Swashbuckle.AspNetCore 6.6.2
  • Microsoft.AspNetCore.Authentication.JwtBearer 8.0.6
  • Google.Apis.Auth 1.68.0
  • Azure.Monitor.OpenTelemetry.AspNetCore 1.2.0
api/Engraved.Core.Tests/Engraved.Core.Tests.csproj
  • coverlet.collector 6.0.2
  • NUnit.Analyzers 4.2.0
  • NUnit3TestAdapter 4.5.0
  • NUnit 4.1.0
  • FluentAssertions 6.12.0
  • Microsoft.NET.Test.Sdk 17.10.0
api/Engraved.Core/Engraved.Core.csproj
  • Newtonsoft.Json 13.0.3
  • Microsoft.Extensions.DependencyInjection.Abstractions 8.0.1
  • Microsoft.Extensions.Caching.Memory 8.0.0
api/Engraved.Notifications.OneSignal/Engraved.Notifications.OneSignal.csproj
  • OneSignalApi 2.0.2
api/Engraved.Persistence.Mongo.Tests/Engraved.Persistence.Mongo.Tests.csproj
  • coverlet.collector 6.0.2
  • NUnit.Analyzers 4.2.0
  • NUnit3TestAdapter 4.5.0
  • NUnit 4.1.0
  • FluentAssertions 6.12.0
  • Microsoft.NET.Test.Sdk 17.10.0
api/Engraved.Persistence.Mongo/Engraved.Persistence.Mongo.csproj
  • MongoDB.Driver 2.26.0
  • AutoMapper 13.0.1
api/Engraved.Tests/Engraved.Tests.csproj
  • coverlet.collector 6.0.2
  • NUnit.Analyzers 4.2.0
  • NUnit3TestAdapter 4.5.0
  • NUnit 4.1.0
  • FluentAssertions 6.12.0
  • Microsoft.NET.Test.Sdk 17.10.0
api/global.json
  • dotnet-sdk 8.0.302

  • Check this box to trigger a request for Renovate to run again on this repository

[UI] Summary section

  • Show first/last date (i.e. since when is this metric active?)
  • Measurements count
  • Stats (average and co.)

Improvements for filters

  • Define two kinds of periods, e.g. "Year" could mean "current" or "rolling" (i.e. last 365 days)
  • Filters on mobile are not really nice to use

Improvements for timers

  • Show daily total (maybe make this generic [for all metrics] and toggable)
  • Show current timer in
    • title?
    • measurements list
  • Fix "edit measurment"-dialog
    • At the moment it shows button label (i.e. "Stop timer") depending on state of current timer (is running or not)
    • Add possibility to manually change time

Questions:

  • Technical: Do we really still need a timer_start and timer_end endpoint? Couldn't all of this be handled by "upsert"?

Different kinds of metrics

Possible use cases

  • Weight loss, body temperature [value/gauge]
  • Migraine days [counter]
  • How long does my child take to go to sleep? [timed value]
  • Endless games (e.g. "Pärli-Jassen")

Technical

Counter:

  • Always increments by one
  • Cannot be negative
  • Might not have a concrete value

Gauge:

  • A numerical value

Timer:

  • A time duration
  • Might need a start- and end-date, but maybe this can be implied based on metric-date

Further possible types

  • Timestamp: E.g. when did my child go to sleep

Representation in UI:

  • Show measurements table with appropriate fields
  • Show relevant props in overview
    • Is running for timers
    • Number of measurements
    • Last measurement date
  • Consider using icons to represent type (PlusOneSharp, BarChartSharp, TimerSharp)
    • On details page
    • In overview
    • Maybe even in add measurements? Or in Type picker?

[UI] Get rid of datagrid

And add an own implementation. Consider adding possibility to edit measurements or even add new ones.

Don't forget to remove dependency (package.json)

Comments/Notes for metrics

Similar as in many other apps, e.g. Todoist. Maybe for the beginning all we need is a text field (with basic markdown support?) that can be filled with whatever the user wants. In future we could consider adding multiple comments, that can be archived, etc.

Why do we need this?
So we can write some notes that are general related to that metric, e.g. à la "remember to add payments from XX" or "started medicine break on XX", etc.

First improvements after MVP

  • Ordering of pills for consistency
  • Gauge metric
    • Unit for Gauge metrics? E.g. currency.
    • Grouping?
  • Labels for axes?
  • Timer Meric:
    • Edit start and end date
    • Axis label (in hh:mm instead if absolute mins)
    • Duration field in measurements list must be hh:mm
  • General
    • Why do axis labels have same values (e.g. see metrics/62bcbb28f975348cb5f8a2a0 on prod)?
    • Floatable "Plus" to easily add measurement
    • Make clicking a label (in donught and maybe stacked bar) toggle filter
    • Consider using loader buttons: https://mui.com/material-ui/react-button/#loading-button (attention: requires @mui/lab)

Random thoughts

  • Consider storing info regarding measurements on metric
    • e.g. last measurement, total measurements, etc.
    • or type specific stuff like "is running" for TimerMeasurements
    • This info could also be displayed in the overview
    • Possible server-side implementation: IDictionary<string, string> props? With setters and getters

Generate and store version number on build

Required info (for display on client):

  • Commit hash
  • Version number
  • Date

Notes

Set assembly version:
dotnet build --configuration Release -p:AssemblyVersion=123
dotnet build --configuration Release -p:AssemblyVersion=123 -p:SourceRevisionId=xxx+yyy -p:Version=333

Environment variables:
https://docs.github.com/en/actions/learn-github-actions/environment-variables
https://docs.github.com/en/actions/learn-github-actions/contexts#github-context

Example from Scott:
https://www.hanselman.com/blog/adding-a-git-commit-hash-and-azure-devops-build-number-and-build-id-to-an-aspnet-website

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.