Right, charging tasks is all manual right now. I’m working on changing that, but getting to that point requires quite a few other things to be in place, too.
Once it’s working, the way it will work is that a charge will be authorized soon after the task becomes overdue, and then >= 24 hours later, the charge will be captured.
I’ve really bogged down with getting automatic charges working. To save cards to Stripe in a way that allows me to create new charges later, I have to use a somewhat complicated flow, which in turn requires building out the web app to include a functional card saving interface. This also requires authenticating the user to ensure we’re saving the card to the correct user account in the database.
I started trying to make this happen using Angular, but I’m questioning whether that was the right decision. I’m considering trying this in Vue or React to see if it’s more approachable for me. React would also be nice on a personal level since I have some contracts coming up where I’m expected to build things in React, so building the web app in React would mean I’ll likely be more productive on all these projects.
I’m taking a few days off from TaskRatchet, but I’ve been reaching out to some people for advice on session management and authentication, including the great @zzq.
I’m taking a break from TaskRatchet development for a while to get some health issues under control. So I won’t be working on the project or posting updates here from 9-23-19 to 10-14-19.
Also, I won’t be actively managing the alpha October 4-14, so feel free to continue emailing me new tasks and completions during that time, but I won’t be updating your data or creating charges until after I get back.
I feel like I’m finally wrapping my head around auth, at least to the point where I’m starting to make good progress again. Also, thanks to @dreev for agreeting to chat with me about the project! Many valuable insights moving forward.
API
Built login route
Built register route
Built timezones route for use in registration
Added CORS header to allow for cross-origin use of the API in browsers
Just a heads-up: I’m going to be traveling until December 3, so if you’re a part of the TaskRatchet Alpha, I won’t be responding to emails until then. Please feel free to continue sending me tasks, telling me you’ve completed them, etc, as normal. You’ll still be on the hook for completing what you’ve committed to, by the date you committed to. I’ll respond to emails received once I return.
Hey, sorry! Since stuff is still manual, I don’t generally respond on the weekends, and today happened to be an off day, too. I’ll try to email you tomorrow.
Big news! I’m currently in the process of onboarding the alpha users into the web app! The app is still very rough, and the alpha users I’ve gotten into the app so far have given me so much great feedback. It’s been incredibly helpful. I’ve already implemented many of the fixes they’ve suggested, and I have a big list yet to work through!
API
Switch database fields from datetime to unix time*
Automatically authorize charges
Automatically capture charges
Add status fields to tasks returned from the API
Fix some attribute errors
Web
Add Google Analytics
Update page title element
Fix task stakes formatting
Fix default new task stakes
Support database’s change from datetime to unix time*
Add system-generated task status labels
Add archived tasks section
Fix scrolling issue on mobile
Stop labeling old completed tasks as “late”
Add “Done” status label
Switch from text notifications to on-page toast notifications
Add toast notifications on task status change
* Benjamin sent me a wonderfully detailed email explaining why this was the exact wrong decision, so reversing this change is now on my todo list!