Skip to content

An app to challenge your friends to daily painful challenges.

Notifications You must be signed in to change notification settings

iarobinson/windaily

Repository files navigation

Win Daily

See it as a live, malfunctioning app at http://www.windaily.app

What this is

An app to help you competitively develop habits with friends.

The idea was born from attempting to stay physically fit while on a conference at sea for a week. A few Dutch friends and I agreed to do 100 burpees every day at 11:00 am. For me, knowing they would be there to do the work pushed me to always show up and do the work.

We kept it up for months afterwards by sending each other WhatsApp messages. I've come to the conclusion that the WhatsApp thread isn't the best way to do this sort of thing. Win Daily is my attempt at making competitive, collabrative habit formation with friends more addictive.

User Story

  • User creates a challenge
  • Daily or Weekly
  • For user to share with friends they must sign in with a phone + PW or email + PW.
  • Challenge created so we can invite friends
  • Challenge updates daily with element if participants are involved
  • Allow for users to invite friends via email
  • Get the twilio API working
  • Allow for users to invite friends via phone (get twilio functioning for users)
  • Get confirmable working with devise to tighten up security
  • Clean up mailers and figure out how to get them using templates
  • Resize avatar images before saving them to the DB so we can have clean avatars
  • Get jQuery loading before - Notifications are broken.
  • Set up the WhatsApp integration (https://github.com/getninjas/whatsapp)
  • Follow this tutorial to set up subscription payments via stripe (https://www.toptal.com/ruby-on-rails/ruby-on-rails-ecommerce-tutorial)
  • Make sure the challenge titles are unique....
  • Challenge create fill add helper needs to reflect the file name when a user is creatinga new challenge
  • Automate an email to all users which promotes the wins from the past week

Public/Private ability for both challenges and users needs to be set up

  • The views need to be hooked up
  • Can the users set the challenge to be public or private?
  • The controllers need to ensure they aren't showing public challenges and users
  • The testing needs to reach these features
  • Test to ensure private don't show
  • Tests to show public do show
  • We want people in challenges to be able to see users there... this will be a tricky controller call to get users that might be set to visibiliity only me to still be visiible to those they are in challenges with....

Things to add:

  • Calling the app EternalBraggingRights.com or whetvere
  • Animations for when you beat your frines (The Hulk, Macho Man Randy Savage, Street Fighter, Flexing)
  • Everyone should have a gameified character/avatar option
  • Suggested name generator that changes Dean to Dean Deleware the Destroyer (mix words together)
  • Each time you open the app, they say congrats x (people that sign in each day are x% more likely to keep the habit) - You did x much work, and if you keep it up you'll be x
  • Instead of notifications for others that you got a win, call the notifications Taunts
  • The person with the longest winning streak is posted on the main feed... or something
  • Automate taunts for people that don't follow eachother
  • [ ]

Completed

Technologies

  • Bootstrap 4 (includes jQuery and Popper)
  • User authentication with Devise
  • Persistent image storage with ActiveStorage + AWS (s3)

Data Model

User - Email or phone numbers Challenge - A challenge is created by a user. Multiple users can join a challenge. Win - A win a single entry associated with a challenge.

Tech

About

An app to challenge your friends to daily painful challenges.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published