So it’s been a while since I’ve made development progress on my side-project. First I was in England for a few weeks, then I had family in town, and now it’s the middle of August…
But I made some good progress tonight and it’s a thing I can sort of talk about on here. The thing I want to do is an app for my bookclub to keep track of our books that we’ve read. We tried making a goodreads group, but it’s so painful to use that we basically just have a note in someone’s phone that has a list. But having actual information about the books we’ve read, and the books we want to read would be so handy!
So, in the spirit of using what I know but also learning lots along the way, the planned stack is:
- Headless WordPress for the backend
- custom WordPress plugin, with wpgraphql
- React app for the frontend
- plan will be to do an offline-first app eventually, but first iteration is just a regular old webpage with React
- integration into Google Books API to search for and add new books
Tonight’s progress was getting a good chunk of the WordPress up and running. I’d had a bit of a false start a few months ago, doing it as a WordPress theme, and then realizing that was pretty unnecessary once I decided to do things via graphql. So this evening I was able to whip up a quick start to things: https://github.com/smallbellows/bookclub-wordpress-plugin. It’s nothing fancy at all, but it’s a start.
If you’re interested in the other details, I’m using Local by Flywheel as my local WordPress machine, which was a super easy thing to set up. I’ve used MAMP and Vagrant over the years, and they’re fine but I was super impressed with how quickly I was up and running with Flywheel.
Next up, I’ll be getting the React app going with authentication. I know if I hosted the app on the same domain as the WordPress stuff, I wouldn’t have to worry about it, but I think I’d rather keep them separate so that I can put the app wherever it makes sense as that part grows. I haven’t figured out where I’m going to host any of this yet so I want to keep my options open. Any suggestions?