Oh totally, just wasn’t sure how soon you’d be charging the ones which had become overdue. (Is there a plan for that?)
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.
- Still working towards automatic charges.
- Made API infer user id when possible (Thanks @zzq for pointing this out!)
- Updated auth strategy to be less broken and more normal (Thank you, @zzq!)
- Improve arg parsing
- Improve usage docs
- Build some basic web components just to get a feel for things
- Add Storybook for isolated component development && testing
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.
- Switched to React for the web app.
- Gave the landing page a small face lift, plus legal stuff due to services requiring I have them.
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.
Just arrived back from vacation, so nothing to report today.
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.
- 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
- Build login form + basic validation
- Build registration form + basic validation
- Make registration form use register API route
And a screenshot:
- Make register route return error code when email already taken
- Improve http response codes
- Make login route fail login requests for non-existent users without crashing
- Set the page title
- Make the login form use the login API endpoint
- Work on saving session token to a cookie
- Make login & registration forms display success & failure messages based on API response
- Break login & registration forms into their own stateful page components
- Add routing & navigation system
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.
I’ve joined Alpha 1-3 days ago, but never got any mail or information. What’s up? I would love to test your service!
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.
And welcome to the alpha!!
- Hid task list when user logged out
- Styled base template
- Styled login page
- Broke session widget into its own component
- Split task list entries into a new component
And some screenshots
- Add ability to create new tasks
- Add ability to mark tasks as complete
Slow and steady.
- Add support for PUT requests
- Create Stripe Customers
- Create Stripe PaymentMethods
- Add /me endpoint to retrieve logged-in account
- Add ability to make a PUT request to /me to change account settings
- Add ability to change password via a PUT request to /me
- Add new task form to tasks list
- Refresh task list when new task created
- Allow task status to be toggled via clicking a task’s checkbox
- Create registration /success and /cancel landing pages for Stripe to redirect to
- Add payment method creation via Stripe to registration flow
- Fix Netlify routing
- Build account settings page
- Add ability to change password in account settings page
- Support PaymentMethod updates to existing Customers
- Build password reset flow
- Include list of saved cards in GET /me response
- Enforce minimum stakes of $1
- Require new task description
- Sort user tasks by due date, ascending
- Add ability to update payment details to account settings page
- Style account page
- Show current payment method on account page
- Display login form directly on protected pages when logged out
- Add “Reset Password” button to login form
- Build password reset page
- Make new task due date field default to 1 week from today
- Prevent new task submission with stakes less than $1
- Prevent new task submission without task description
- Style tasks list
- Style new task form
- Split charge alerts into individual emails
- Save charge alert email IDs to database
- Make API mark the task as contested in the database when a user replies to a charge alert email
- Switch to storing cents instead of dollars
- Change default “from” field on emails to “TaskRatchet Bot <email@example.com>”
- Support API’s switch from dollars to cents