I’ve been toying with the idea of building an app for quite a while. I’ve dabbled in various parts of it for projects over the years and I generally know how it all fits together. But I’m not a front end engineer by any stretch so this will be a bit of a learning curve.
At the last job I was lucky enough to have another developer help me on a project using React to create a web app for our sales team. It was built using Laravel for the backend, routing, auth, etc. React was used for the interactive portion and I was really hooked on the true interactive nature of the way React let me interact with and manipulate the DOM.
So the first task I set for myself was figuring out what tech stack I want to use. I’ve used dozens if not several dozens of CMS’s over the years. I’ve also built my own more than once. We are lucky to live in a time when there are so many good options for building an app.
At first I was going to go with WordPress. I do know it very well. I could easily create a backend using WordPress and then using React (maybe Gatsby for the starter) for a headless front end. I’ve even done some work using this stack on my local, I have a repo for it on github and it would be very quick to get up and running with the basic CMS side of this project. The CMS part is only the beginning though – I plan on adding trackers, character sheets, a digital GM’s screen and other tools so game masters and players alike can use these tools to enhance their games in person and online.
Another factor in deciding what I want to use is growing as a Software Engineer. I want to learn more JavaScript. I want to dig deeply into the OOP side of things even more. And I want more control over how things work.
So I’ve decided to build my app with Laravel as the backend. I used Laravel extensively at the last job for about a year and a half and the more I learn about Laravel the more I love it. Laravel is powerful and has so many options that it can be daunting to figure out what everything is. The Laravel ecosystems has multiple options for front end templating (blade, vue, livewire, react, etc.) and just as many options for deployments, auth and more.
After a ton of research, this is where I want to start:
- Laravel backend
- Liveware for JS/Templating (also uses Blade)
- Jetstream will be used for Auth
- Forge + Linode for hosting
This stack is for the proof of concept and to get the APIs all built and a solid web app to see what interest there is for this app and to solve my own needs – I want to product content for the role playing games I enjoy playing or running. I really like creating worlds, settings, characters, campaigns, etc. I tend to like to GM more than play and I’ve always wanted something like this for myself and that’s the reason I’m bringing this into the world!
Naming things is always hard. Plus, every domain is taken these days. But I got lucky and snagged WorldBuilders.Studio. The idea was creating a tool for Writers and Gamers to create custom worlds for themselves and to share with others. But I decided it might confuse the message a little bit and have decided on GameMasters.Studio. I might still do one for writers with the WorldBuilders.Studio name but we’ll have to see.
I’m doing this for fun and to learn and expand my skills. But I also hope it’s popular enough that it can at least support some of its development and hosting costs.
I’m ready to start building this thing and can’t wait to share more of the process with you.
No comments yet…