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: 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?

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.