This App is a demonstration of OOP/DB Design using World of Warcraft player characters and items.
Each item has a specific slot it can be equipped to:
- Helm
- Shoulder
- Cloak
- Chest
- Bracer
- Glove
- Belt
- Legs
- Ring (2 slots)
- Trinket (2 slots)
- Weapon (2 hander)
These items give a non-negative amount of:
- Health
- Stamina
- Critical Strike Rating
- Haste Rating
- Mastery Rating
- Versatility Rating
The database tables created for this project have the following schema:
Column |
Value |
ID |
INT |
Name |
STRING |
Column |
Value |
ID |
INT |
Name |
STRING |
SlotNums |
INT |
Column |
Value |
ID |
INT |
Name |
STRING |
SlotTypeID |
INT (Foreign Key) |
Column |
Value |
ID |
INT |
ItemID |
INT (Foreign Key) |
StatTypeID |
INT (Foreign Key) |
Value |
INT |
BaseAttr |
BOOL |
TimeActive |
INT |
Column |
Value |
ID |
INT |
Name |
STRING |
Column |
Value |
ID |
INT |
CharacterID |
INT (Foreign Key) |
SlotTypeID |
INT (Foreign Key) |
ItemID |
INT (Foreign Key) |
Active |
BOOL |
Column |
Value |
ID |
INT |
Name |
STRING |
Column |
Value |
ID |
INT |
CharacterID |
INT (Foreign Key) |
EventID |
INT (Foreign Key) |
TimeStamp |
DATETIME |
A sql dump can be found in the exports
folder under the app directory
A postman export can be found in the postman
folder under the app directory
Install MySQL and start
$ brew install mysql
$ brew services start mysql
# navigate to server folder and
install dependencies
$ cd server
$ npm install
$ npm run start
# navigate to client folder and install dependencies
$ cd client
$ npm install
$ node script.js