Skip to content

Latest commit

 

History

History
314 lines (228 loc) · 11.9 KB

TODO.md

File metadata and controls

314 lines (228 loc) · 11.9 KB

TODO:

Screenshots dimensions should be: 1280x800 1440x900 2560x1600 2880x1800 https://stackoverflow.com/questions/67972372/why-are-window-height-and-window-width-not-exact-c-wpf a difference of 7px in Height and 14px in Width, header 31px


BlazorWasmProfiler

Ididit.csproj
    <PackageReference Include="BlazorWasmProfiler" Version="0.0.1" />

HelpComponent.razor
    <BlazorWasmProfiler.MethodCallStatistics/>
    <BlazorWasmProfiler.RenderTimeStatistics/>

Services.cs
    using BlazorWasmProfiler;
    [assembly: BlazorTimer]

fix bug: Goal title is set to empty string

public class GoalModel
    private string _name = string.Empty;
    public string Name
    {
        get => _name;
        set
        {
            _name = value;
            if (value == "" && _details != "")
            {
                int i = 0;
            }
        }
    }

android tablet screenshots - 2x (small, large)


virtualized container method trace logging - performance https://learn.microsoft.com/en-us/aspnet/core/blazor/performance

[wasm] browser profiler dotnet/runtime#77449 [wasm] browser profiler (again) dotnet/runtime#77779


copy Loop Habit Tracker

  • History (done count grouped by week, month, quarter, year)
  • Calendar (continuous year calendar, no breaks in months: 7 days -> 7 rows (horizontal scroll) or 7 columns (vertical scroll))
  • Best straks (from date - to date)
  • Frequency (by day of the week - continuous calendar, without dates, done count grouped by days of the week)

Goal progress: (done X tasks / total number of tasks) since (last time all tasks were done)


  • drag & drop Goal
    • change order
    • change Category
    • merge with another Goal
  • drag & drop Task
    • change order
    • change Goal

  • debug import/export on phones
    • separate import/export
    • import should have a file type filter *.json not .

  • Asp Net Core backend - Blazor server
    • authentication / authorization for Google Drive
    • sync data with SQL Server


App Store Optimization (ASO):

  • promotion inside the store
  • encourage your users to rate and review your app

Public Relations:

  • media outlets and journalists
  • bloggers, podcasters, and magazines

Influencer Marketing:



VERY HIGH PRIORITY:

  • use phone back button to exit options / settings

  • fix phone 2x app open - check if app is already running

  • benchmark method performance

  • For "max task column width" use Slider range: 500 - 1000

  • sort Tasks ascending / descending

  • Bootstrap 5.1.3 ---> 5.2.0 - twbs/bootstrap#36431

  • Fontawesome 5.15.4 ---> 6.0.0 - https://www.jsdelivr.com/package/npm/@fortawesome/fontawesome-free?version=6.0.0

  • GoogleDriveBackup - auto save backup - class Repository - on every IDatabaseAccess use - Benchmark / Stopwatch

  • GoogleDriveBackup - auto restore backup - class LoginComponent - on LogIn complete - AuthenticationStateProvider.AuthenticationStateChanged += OnAuthenticationStateChanged;

  • load db before app start in wasm

  • fix AddCategoryList(List categoryList)

    • in Repository and DatabaseAccess

    • first search for existing Entity / Model and merge / overwrite, then add

    • add class Map / Mapper with Entity <-> Model mapping

  • composition over inheritance: class Note, class Task, class RepeatingTask

  • task - "done times list" should load on demand - on Task done - on show Task details

  • @if (Goal is not null) in GoalComponent.razor is still called after Delete Goal

HIGH PRIORITY:

  • toggle: see all Tasks / collapse to Goal titles

  • don't add Category/Goal until (name is set) / (Save button is clicked) - no need to undo adding empty objects = easy discard

  • mobile: show sub-categories in Goal list

  • procrastinating? take the first step, write down: when, where, name, address, phone number, working hours, website, email

  • Tizen: keyboard arrow down can change focus to next textarea

MEDIUM PRIORITY:

LOW PRIORITY:

  • weekly category goal (do X tasks from this category)

  • statistics (did X tasks from this category)

  • graphs (number of tasks over time)

  • show "Task done times" in a Calendar/Scheduler, not a List

VERY LOW PRIORITY:

  • https://blazorise.com/docs/components/repeater

    • The repeater component is a helper component that repeats the child content for each element in a collection.
    • One advantage over using traditional @foreach loop is that repeater have a full support for INotifyCollectionChanged.
    • Meaning you can do custom actions whenever a data-source changes.
  • Icon: