Git Product home page Git Product logo

tinytodo's Issues

Search rows

Summary

As a: tinytodo user
I need: to be able to search for the items I am trying to find
So that: I can easily find the item I am looking for when dealing with large data

Technical Description

  • Implement the input functionality in /src/partials/Items.svelte to add searchable rows
  • Sorting style should be reflected in the URL, and should persist on page refresh
  • Changing tabs should clear the input box

Export list

Summary

As a: tinytodo user
I need: to be able to export the list
So that: I can import it to external resources and applications

Technical Description

  • Add the functionality to /src/partials/Lists.svelte
  • Reference live tinytodo site for how these should be formatted

Checklist

  • CSV
  • iCal

Always visible due dates

Summary

As a: tinytodo user
I need: to be able to see due dates no matter how temporally distant
So that: I can be aware of upcoming item due dates

Technical Description

  • There is already code in place to handle due dates within the nearest 3 days, we need to extend this functionality to default to showing the due date if greater than 3 days

Clear done tasks

Summary

As a: tinytodo user
I need: to be able to delete all rows that are marked as "DONE"
So that: I can clean up my lists

Technical Description

  • Implement the button functionality in /src/partials/Lists.svelte to add "sort by" actions
  • An alert displays to ensure their intention is to delete all "DONE" rows

Standalone application

Summary

As a: tinytodo user
I need: the ability to download the app as a standalone offline program
So that: I can take full advantage of the the application

Technical Description

  • Build with Electron?

Checklist

  • Supports Windows, Mac, Linux
  • Works offline
  • Built automatically with a CI/CD pipeline

Publish list

Summary

As a: tinytodo user
I need: the ability to publish my list as an RSS feed
So that: I can integrate my list with other 3rd party solutions

Technical Description

  • Implement the button functionality in /src/partials/Lists.svelte to add publish action and link
  • Publish setting should be reflected in the list database

Filterable rows

Summary

As a: tinytodo user
I need: to be able to filter the items based on various filtering techniques
So that: I can better view the data I am looking for

Technical Description

  • Implement the button functionality in /src/partials/Items.svelte to add "filter by" actions
  • Filter style should be reflected in the URL, and should persist on refresh
  • The enum for filters should be "ALL", "TODO", "OVERDUE", "NOW", "SOON", "DONE"
  • Changing rows should clear the filter style

Checklist

  • All Tasks
  • To Do
  • Overdue
  • Today / Tomorrow
  • Soon
  • Done

Forgot password

Summary

As a: tinytodo user
I need: to be able to reset my password without without the help of moderators
So that: resetting my password is a painless and quick experience

Technical Description

  • After typing in your email, notify the user that "if an email exists with the input they entered, password instructions will be sent"
  • The submission should set a token on the account in the database
  • The token should be sent to the email address and allow them to head back to the website
  • Include an alternative "I've already received an email" option
  • Second step is to include the token along with password/confirm password inputs

Due date tooltips

Summary

As a: tinytodo user
I need: to be able to hover and see the full due date in the item row
So that: I can always see the exact day that the item is due

Technical Description

  • Implement #3 for all due date messages in the item row

Checklist

  • Due Soon
  • Due Now
  • Overdue
  • Default

Tooltip component

Summary

As a: developer
I need: a component that I can use to display tooltips on hover
So that: I do not have to continually remake and duplicate the behavior

Technical Description

  • This should be placed in the /src/partials directory.
  • The component should take in 1 field: the content of the tooltip
  • Note: showing/hiding of the tooltip may need to be performed separately when using the component, similar to the MenuOverlay

Sharable lists

Summary

As a: tinytodo user
I need: to share my lists with other users
So that: I can assign items to my peers

Technical Description

  • Lists should have a sharedUserIds field
  • Administrative panel to choose which lists to grant to a user
  • Permission scopes are "Admin", "Client", "Contractor"

Permission Scopes

  • ADMIN = read/write all of my lists
  • CLIENT = read granted lists (can add)
  • CONTRACTOR = read/write granted lists (no delete)

Sortable rows

Summary

As a: tinytodo user
I need: to be able to sort the items based on various sorting techniques
So that: I can better view the data I am looking for

Technical Description

  • Implement the button functionality in /src/partials/Lists.svelte to add "sort by" actions
  • Sorting style should be reflected in the database, which will trigger a refetch of data
  • The database lists should include a default sorting order of "MANUAL"
  • The database items should include a default sorting order of "0"
  • The enum of sorting modes should be "MANUAL", "CREATED", "PRIORITY", "DUE", "MODIFIED"

Checklist

  • Sort by hand
  • Sort by date created
  • Sort by priority
  • Sort by due date
  • Sort by date modified

Date formatting

Summary

As a: tinytodo user
I need: date outputs that match my timezone and settings
So that: I can properly modify the software to best suit my needs

Technical Description

  • Implement a lightweight time library to handle passing in date format strings
  • Ensure timezone is working

Checklist

  • Date format strings
  • Timezones

Mobilization

Summary

As a: tinytodo user
I need: an app that displays nicely on mobile
So that: I can manage my items while on the go

Technical Description

  • Ensure mobilization is in place using Tailwind

Hide completed tasks

Summary

As a: tinytodo user
I need: to be able to hide completed task rows
So that: I am not overwhelmed with large amounts of data that I do not need

Technical Description

  • Sorting style should be reflected in the database, which will trigger a refetch of data
  • The database lists should include a default "hideCompleted" boolean of "false"

i18n

Summary

As a: tinytodo user
I need: a UI that is in a language that I speak
So that: I can use the software

Technical Description

  • Build on the settings table from #12
  • Implement internationalization for all labels and text on the application
  • Refer to the live tinytodo app on languages to support

Global settings

Summary

As a: tinytodo user
I need: the ability to have global settings for my account
So that: I have custom settings for my user

Technical Description

  • The database should have a new table for "settings"
  • The settings should have a "userId" field that links to the account of the user
  • When getting the lists, the settings data should also be included

Checklist

  • userId - required
  • title - default "myTinyTodo"
  • i18n - default "EN"
  • autoTagging - default "false"
  • timezone - default "UTC"
  • firstDayOfWeek - default "MON" ("MON", "TUES", "WED", "THURS", "FRI", "SAT", "SUN")
  • dateFormat - default "j M Y"
  • defaultOrder - default "CREATED"

Filter by tags

Summary

As a: tinytodo user
I need: to be able to filter items by tags
So that: I can easily find items that match the same tag

Technical Description

  • Implement the button functionality in /src/partials/Lists.svelte to add tag selection in the MenuOverlay
  • Sorting style should be reflected in the URL, should persist on page refresh
  • Item rows should include links to the tags associated with that item
  • Changing tabs should clear the filtered tags

Checklist

  • Item tag links
  • Selectable tags in menubar

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.