ReactJS – Personal Project, Epic Campaigns

Anyone who knows me knows I enjoy playing Dungeons and Dragons. A tabletop role-playing game where you collaborate to a joint adventure. I have also been trying to teach myself to React and modern Javascript. So I decided to join the two and create a personal project that would consist of both!

Be warned this is very early stages and any data you add/test on there may be moved, edited or even deleted.

My project is called Epic Campaigns, a web app that will eventually allow you to create bits of interconnected content to keep track of a D&D campaign. Some of the cool features currently are the creation of campaigns, adventures, locations, and monsters. I am slowly adding more and more as I get the time.

Technical Stuff Time

One of the things that I know I need to improve is the way I am passing data around the web app. At the moment I am using the Context API which is working great, but sometimes I need to include the consumer in quite a few places which don’t necessarily feel correct. Brushing up on the Context API and other solutions for passing data will help me a lot over time on any project as well.

Another thing that I know is a little disorganized is my routing. I thought it would be clever to have a routing component, but it turns out it does over complicate some parts of the app. Even though I like having my routing in one place for locations, one place for adventures, etc.

Google Firebase & React

I am using Google Firebase for the hosting and it is so easy to get started and include authentication. The tricky bit is setting up rules in the database to protect data, but once I got my head around it, it became a lot clearer. I don’t necessarily think this was difficult, it was just something I haven’t encountered before so I had a small learning curve before I could get stuck in. The data storage, authentication, and hosting are incredibly easy to get started with and I highly recommend it for getting started on a personal project (I have no experience beyond that yet).

I hope this post was just a small insight into what I have been working on and what posts you are likely to see in the future, thanks for reading!

What cool personal projects are you working on? let me know in the comments below.