DEV Community

Eric Wahlgren-Sauro
Eric Wahlgren-Sauro

Posted on • Edited on

1app4ways - Dark Souls CRUD Arena

After having worked in Vue.js for the past five years, I was once again hacking my way through a take home CRUD assignment in React. Not long into the assignment, I realized that while I had the architecture pieces in my head for how I wanted to organize the project, I was completely lost at sea for actually implementing the features in React. All my jobs in tech thus far have used different stacks. Coming straight out of a bootcamp -- shoutout to Turing School -- I became effective at shipping features within the context of a large codebase. The existing codebases had established patterns, frameworks like Angular or Vue.js were already in place, and I was assigned to an existing feature team. All these factors made it possible for me to gradually figure out what I was doing by understanding the context of where I had been placed. Have you ever known how to use a word in the proper context, but never actually learned the definition of that word? That is how I've often felt when coding in both my past jobs. I've been swaddled in abstractions on top of abstractions. That was harshly revealed to me in my most recent take home challenge where I was expected to build a client using React -- a framework I've only touched a couple times for take home assignments, except this time I was being asked to use it in the context of being a senior dev. Let's just say it was a humbling moment for me struggling to stand up authentication using Clerk. I knew something was off.

It's not that I see myself as a bad developer, but rather one that has been resting in the bosom of abstraction layers that a company provides. There's nowhere to hide in a greenfield application. Anyways, it was upon struggling to implement Clerk auth in React that I decided I needed to go deeper. Back to basics. I didn't know how I was going to systematically up-level my skills, but I had the hunger to improve.

One night when working through my second play-through of Dark Souls III, a light bulb went off -- What if I made the same app different ways and themed it around Dark Souls?

I had found a project to devour! Something to nourish my hunger to grow as a developer.

Over the next two days, I refined the idea and detailed what the app would include and which technologies I would use for each approach, ultimately landing on four approaches I wanted to challenge myself with. From that refinement process, the Dark Souls CRUD Arena was born.

I'll include details in future posts, but at a high level the idea is to build the same basic application using four different stacks and deployment strategies. Here are the user stories I've written for myself to follow with each approach:

Hero

  • As a user, I can create a new hero with name, level, and class
  • As a user, I can view a list of all heroes
  • As a user, I can view a single hero's details
  • As a user, I can update a hero's details
  • As a user, I can delete a hero

Equipment

  • As a user, I can create a piece of equipment
  • As a user, I can add equipment to a hero
  • As a user, I can view all equipment for a hero
  • As a user, I can delete a piece of equipment
  • As a user, I can remove equipment from a hero

I will have follow on posts that serve as retrospectives when I complete an approach. Thanks for reading.

Heroku

Deploy with ease. Manage efficiently. Scale faster.

Leave the infrastructure headaches to us, while you focus on pushing boundaries, realizing your vision, and making a lasting impression on your users.

Get Started

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

🌶️ Newest Episode of Leet Heat: A Game Show For Developers!

Contestants face rapid-fire full stack web dev questions. Wrong answers? The spice level goes up. Can they keep cool while eating progressively hotter sauces?

View Episode Post

DEV is partnering to bring live events to the community. Join us or dismiss this billboard if you're not interested. ❤️