Git Product home page Git Product logo

to-do-countdown's Introduction

To-Do Countdown

This is a Bloc.io project that I revamped to fit my personal idea for where this app should go.

This task list app will track your task's deadline's, removing them from the list as once they expire. This way your task list doesn't get cluttered with things you keep meaning to do!

With this app, you can create a task list that doesn't get cluttered. This is achieved by setting a deadline for every task. Once that deadline is reached, the app automatically removes the task from the list.


The main features added are:
  • Expired Tasks do not get deleted, only removed from the main view.
  • Users can set the deadline from 1-7 days. (default is 7)
  • Find and friend other users
  • Most of the app runs with AJAX.

to-do-countdown's People

Contributors

mftaff avatar

Watchers

 avatar

to-do-countdown's Issues

remove user and list validations.

we added those in during testing to insure that tasks could not be created without em. But the user should never see such a message because it is all backend managed. Maybe just change the messages to a more general error message. if not than remove those validations

hold space on page for flash notices

when flash notices appear they shift the whole page, this is not a nice UX. Change it to save space on the top of the page, for flash notices to fill.

create/display validation errors

There seems to be some issue with getting validation errors to create/display.

(
NOTE: the following areas were edited for validations:

  • application_helper.rb
  • _form.html.erb

)

change shown list with ajax

It would be nice UX to ajax the list switching. So when a user toggles between lists, there is no page reload

(on the show/home page there is a bar with all users lists displayed. that should be ajax)

Notes:

  • in the list controller there is already commented out lines supporting an ajax call.
  • add remote true to the form
  • new files: create.js.erb, and destroy.js.erb in lists/

create bi directional confirmable friend system

We will need:

friends attribute for User ( friends:array_of_Users )
pending_request model -> gets created when you send a friend request. It needs two user attributes sender and reciever.

  1. when a user sends a request we can create a pending_request. (sender: current_user, receiver: target)
  2. on (manage) friends page load have logic to show pending_requests (sender.name wants be a friend y/n)
  3. if yes: add current_user to sender.friends && add sender to current_user.friends
  4. if no: destroy pending_request instance.

Note on views:

  • friend list will have to show three options: send request, pending, friends!
  • users/show will have to be updated to only allow showing a friend's page

Ajax new tasks

This we got working in terms of the guts. The issue is right now, new tasks, and the new-task-input get stuck onto the top of the page, not the table. also the old new-task-input does not get removed

style navbar

we want to put user signin/nav links in a topbar

Comment on tasks

Maybe add a feature where you can comment on your own or your friend's tasks

Add global function to simplify `Rails.logger.info`

In application_helper.rb I have a function that supplies all the views with a log_info function. But the controllers do not have access to it...

Find a way to globally add this function to the whole project

add footer

add and style a footer that sticks to the bottom. also add a right and left border for .container to extend the full height.

new-task Ajax breaks in newly created tasklist

When you create a new tasklist, the first entries you put in do not get ajax'd.

The issue:

  • first one or two tasks require page refresh before they show up
  • next ~5 tasks if given a shorter expire date, will not show up without refresh

what to do with expired tasks?

  • Use the checkpoint-led rake method (use the e.c gem to automate it)
  • Use ajax to watch the timers, and delete them as soon as they expire
  • Use rails to delete them on page load
  • My favorite: Use rails (or jquery) to only show you you're active tasks, and then have an expired task view

fix datetime input

The current way to choose a datetime is rather meh....

Maybe look for a different way to this using bootstrap or html/css/js

expired task toggle & task-count not consistent with visible-state of expired tasks

A helper method is needed to check whether expired-tasks are collapsed or not, and based on that to display either show expired or hide expired. As well as to display task count as current_user.tasks.unexpired.count (for when expired is hidden) or current_user.tasks.count (for when expired is also being displayed)

I think the helper method needs to be all jquery/AJAX as It is dependent on the state of an element...

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.