DEV Community

Ephriam Henderson
Ephriam Henderson

Posted on

Day 2 [D&D Character Sheets]

Report

Today I started by setting up my database.

In my digital life I'm a pretty tidy person, I like consistent, rigid folder structures, don't like a crowded desktop, and I'm striving to install as few apps as I can on my devices. But I also have use different databases all the time.

This means that not only would I have databases installed that I don't use often, but many of them will run at startup! (Okay I could make it not run at startup, but then I'd have start them manually every time I worked a project.)

That's why I use Docker Desktop to containerize my database servers. Docker allows me to quickly create an instance of whatever database I like, use it, and then delete or forget about it. It also has a bunch of pre-made containers so it's often as easy as running one or two commands. I still have to start the databases manually, but they're all in one place and can be started from a easy-to-use GUI.

These commands install the latest container, and maps the container's port 27017 to the host's port 27017.

 docker pull mongo
 docker run -p 27017:27017 --name mongo -d mongo:latest

With Mongo setup, and a connection established in MongoDB-Compass. I began working on setting up the database client for my app. After some time with the documentation I used mongoose to establish a connection with the database, and started setting up mongoose schemas. This is still very work-in-progress, so no code today.

Project

[100days] The DND Character Sheet App

This is the first project of my 100 days of coding This is an app to keep D&D character sheets.

Stack

I'll be using Node.js and building a full-stack Express app with MongoDB.

Requirements

Minimum Viable

  • Present a D&D Character Sheet
    • The sheet should display all the same info as the first page of the 5e Official sheet.
  • Users should be able to log in and create player-characters.
  • Users should be able to edit character sheets.
  • Users should be able to organize character sheets into groups (parties/tables)
  • Sheets should auto calculate basic stats like ability modifiers
    • Support Proficiency Bonuses

Cake

  • Extend character creation to allow the user to use any of the three common stat gen methods
    • Point Buy
    • Standard Array
    • Roll
  • Extend the character sheet to all the info in the 5e official sheet.
  • Allow for image uploads for character portraits.
  • Allow for…

The First project will be an app to keep D&D character sheets.

Stack

I'll be using Node.js and building a full-stack Express app with MongoDB.

Requirements

Minimum Viable

  • [ ] Present a D&D Character Sheet
    • [ ] The sheet should display all the same info as the first page of the 5e Official sheet.
  • [ ] Users should be able to log in and create player-characters.
  • [ ] Users should be able to edit character sheets.
  • [ ] Users should be able to organize character sheets into groups (parties/tables)
  • [ ] Sheets should auto calculate basic stats like ability modifiers.
    • [ ] Support Proficiency Bonuses

Cake

  • [ ] Extend character creation to allow the user to use any of the three common stat gen methods.
    • [ ] Point Buy
    • [ ] Standard Array
    • [ ] Roll
  • [ ] Extend the character sheet to all the info in the 5e official sheet.
  • [ ] Allow for image uploads for character portraits.
  • [ ] Allow for extended descriptions/backstories.
    • [ ] Characters should have nice full page backstories.
    • [ ] Preferably use a markdown editor.

Top comments (0)