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