First, Disney was fantastic 😁
But unfortunately, I'm late on my planned schedule!
Kinda like Alice in Wonderland’s White Rabbit 🐰
Two reasons for this:
Starting up the Rails project took me more time than I expected
I went down into a few rabbit holes, but I'm getting better at noticing and pulling myself out of them!
I did not find as much time as I thought I would on Sunday
Here's my current status:
Friday:
✅ Project setup
Rails project with Turbo/Stimulus and Phlex
🐰 Lots of boilerplate to setup for Phlex. I'll need to build myself a reusable lib to kick things off faster
🐰 Spent too much time on UI/design on top of that
✅ User registration & authentication
Using Devise + devise-passwordless
🐰 devise-passwordless’ implementation isn't in line with what I had in mind.
Even though I'm not a huge fan of them, the beauty of Magic Links is that you don't have to worry about the user being already registered: just show an email field, create a new user if needed and shoot the email link.
Unfortunately, the gem did not merge sign-up and sign-in this way, so I had to override their sessions controller.
Some minor fine-tuning remains
❌ API service with API key authentication
❌ Endpoints specifications
Sunday:
❌ Blocklist matching implementation
❌ Dynamic checks & results caching
Monday:
❌ Payment setup & implementation
Tuesday:
❌ Server provisioning
❌ real-emails.com domain configuration
❌ Deployment preparation
Wednesday:
❌ Production deployment
❌ Live tests
Ouch! That's a lot of red 🙈
Hopefully, I will be able to accelerate now that I have the foundations in place.
For the moment, I think I can still meet Wednesday’s deadline.
I would probably shift it to Friday if I were on a freelance contract. 😅
Anyway, here's what it looks like at the moment:
As I wrote above, some fine-tuning is still needed on the login flow. Right now, it redirects to the homepage after sending the email, which isn't great.
It should be done quickly, and then I can move on to the core part: the API.
Stay tuned :)
Being late this early leaves you loads of time to catch up, you can do it!