/COM331-TabTasks

Rails 5.1.5 Project - New Tab Task Tracker

Primary LanguageRuby

README

What's different between this and Project One?

  • This project now has an Upstream master branch
    • The original repo was:
      • branched to maintain a copy of Project 1
      • Then forked to create Project 2 upstream
    • Every change will be made by having both org members (see: authors) review pull requests made to upstream from their repos
  • Hopefully a few of the missing TODO & wishlist features get implemented
  • OAuth integration

Authors

Environment

  • Rails 5.1.5
  • Extra installed Gems:
    • sass-rails
    • font-awesome-rails
    • haml-rails

Setup

$ bundle install

$ rake db:setup

$ rails s

Browse to 0.0.0.0:3000/tasks

Heroku Deployment

Add the output of the below command to .bashrc, .zshrc, or wherever your local environment variables are stored.

$ rake secret

Make sure you've updated your environment variables. This might look like (but you can also log out and back in):

$ source ~/.bashrc

Now run the following to get your production key:

$ rails secrets:setup

We ran this command and exited the text editor it brought up. We're not sure it helped, but deploying to Heroku was being finnicky, so I'm documenting it anyway:

$ rails secrets:edit

Now run (from your project root directory):

$ heroku create

Verify that it added the correct link for your Heroku deployment

$ git remote -v

And deploy/migrate! We could probably fix this with procfile...

$ git push heroku master

$ heroku rake db:migrate

$ heroku rake db:seed

And finally, go to the URL!

If it's not working:

  • Grab your RAILS_MASTER_KEY that you generated (currently residing in your environment variables)
    • Go to your application in Heroku, under settings > config variables add RAILS_MASTER_KEY, and then the key.

OAuth

On Github: For our org, we went to Developer Settings > OAuth Apps

  • New OAuth App
    • Name the application
    • Homepage URL is our Github repo URL
    • Callback URL is our heroku root URL

In Heroku's web control panel:

  • Go to your application in Heroku, under settings > config variables add GITHUB_ID and GITHUB_SECRET, found in your Github dev settings panel opened in the previous step.

Problem

I tend to get lost in a sea of tasks, or simply forget something that I had meant to do. This often results in aimlessly browsing Facebook and endlessly opening new tabs.

Solution

Replace my new tab page with something resembling /r/startpages. An aesthetically pleasing task tracker that I have to look at every time I open a new blank tab might be a good start!

How's it look?

Click for full mobile responsive workflow gallery:

Mobile view:

Mobile view

Desktop view:

Desktop view

TODO:

  • Implement task affirmation functions
    • Currently just a check and x button without a function
  • Tasks should be smarter, based on system clock with a deadline that matters beyond bookkeeping
  • Better reminder text
    • Urgency/deadline?
    • Grammar/syntax? Currently handled with seeds.rb
    • Capitalization, some form of .to_case?
  • Standardize/enforce timeframes and deadlines
  • Reorganize SCSS, fix hacks, implement rems

Wishlist

Known bugs:

  • Known bugs have been squashed!

Resources