So my wife has been bitten by the blogging bug and she want's me create a website for her. It's going to be about health, nutrition, have recipes and probably some long form articles that dissect studies. My plan is to use this as a learning experience to dive into some stuff I haven't done before, I'm doing it for free after all so why not. For the frontend I'll most likely use Nextjs as I haven't really used it that much and this seems like as good an opportunity as any.
The real meat of the project will be the creation of the blog posts. There are a million and one different solutions I could use for this including Sanity, Contentful and Netlify CMS and all of them would make my life easier. But pulling data from a CMS and displaying it on the frontend is old hat, I want to build my own solution.
Now to be clear, I'm not planning on making some super CMS that will rival the big players, the idea here is to keep things simple, so simple in fact that my wife (who uses a computer for the internet and writing Word docs) can use it with ease. And that's kinda where the idea is coming from, we are going to work together in shaping an experience that she will feel comfortable using. When we first discussed this her initial thoughts for how to start writing a blog began with a Word document. So in keeping with that idea a wysiwyg editor will be needed, something that is easy to use and resembles Word.
My wife loves taking notes and organizing things. She likes folders. Each post should be organized into a category which will be a folder, but each post can also live in multiple folders (and fall under multiple categories). A nested folder structure maybe. Many times we find mobile apps a great place to view organization and folder structures. Without a lot of screen real estate they have to be clever in how the display their stored data, this will be something we will be paying attention too.
Of course this wouldn't be a blog without a dash of procrastination. Each post must have at least one excellent photo to accompany it so she is currently teaching herself photography (and learning very fast), this will at least give me more time to get this finished. Anyway, I was thinking that even though each post will have images which can be added to the wysiwyg editor, maybe we could store them too. Perhaps there are some that will get reused, or used on other pages of the website in headers and as heroes.
I've started reading Fullstack Serverless and plan on putting it's teachings to good use by creating this CMS with amplify and use S3, auth, API Gateway and a graphql API. I'm not 100% sure about the how's, if's and why's but that's my initial idea. Fetching the data should be multi faceted with a graphql layer or a simple fetch as well as some small parsing packages to show the data on the frontend.
All in all it's not a fully featured CMS like many others but a more tailor made experience for those that don't code or know how to do these things. I'd like my mum to feel comfortable using this, that's the kind of level we're talking about here. I'll keep writing as I go and build this in public. So far not one line of code has been written and most likely the next couple of posts will be about refining the idea. Stay tuned!