Work Breakdown Structure - MIT-Niceti/core-war-web GitHub Wiki
WBS - Work Breakdown Structure
Graphical representation
Root (without leaves)
Root to back-office leaves
Root to back-office controllers/workers
Root to back-office models
Root to front-office leaves
Textual representation
Note: Here is a more readable representation of this sheet/grid on google drive.
https://docs.google.com/spreadsheets/d/1KsCFmtWlbxJ8lcR7fHfrn3_UVmKUbo-aAOidpY9lwAs/pubhtml
Brick | Description | |
---|---|---|
1 | Back Office | Server side work |
1.1. | Controllers/Workers | Pieces/Bricks of code doing the real work |
1.1.1. | Virtual machine | Place where the champions will be able to fight |
1.1.1.1. | Champions byte-code specifications | Detailled specifications of the compiled assembly (headers; opcodes; ...) |
1.1.1.2. | Virtual machine behavior specifications | Detailled specifications of the VM environment and behavior |
1.1.1.3. | Champion interpretation | Champions byte-code interpretation; application of 1.1.1.1. specs. |
1.1.1.4. | Champions execution | Champions behavior in VM; application of 1.1.1.2. specs. |
1.1.1.5. | Virtual machines controller | Node.js/C++ bridge; Control the virtual machines clusters; get status and logs |
1.1.2. | Champion compiler | Translate human assembly language to interpretable byte-code |
1.1.2.1. | Human assembly language specifications | Detailled specifications of the human assembly language |
1.1.2.2. | Champions byte-code specifications | Same as 1.1.1.1. |
1.1.2.3. | Boost.spirit library setup & integration | Setup and integration of this C++ parsing library |
1.1.2.4. | Human assembly lexing/parsing | Lexical/Grammatical analyzer; application of 1.1.2.1. specs. |
1.1.2.5. | Lexer/Parser output to byte-code | Convert the processed data by the parser to byte-code; application of 1.1.2.2. |
1.1.2.6. | Compiler controller | Node.js/C++ bridge; Control the compiler; get status and logs |
1.1.3. | Database | Persistant storage |
1.1.3.1. | Server database setup & integration | Setup and integration of a MongoDB database |
1.1.3.2. | Sequelize.js setup & integration | Setup and integration of Node.js Sequelize library (Object Relational Mapper) |
1.1.4. | Users controller | Users data management using Sequelize.js |
1.1.4.1. | Create/Get/Delete | Create/Get/Delete user |
1.1.4.2. | Get/Update profile | Get/Update user profile |
1.1.4.3. | Get/Update champions library | Add/Delete a champion; Get list of all champions |
1.1.5. | Lobby/Matchmaking controller | Lobbies management using Sequelize.js |
1.1.5.1. | Create/Delete lobby | Create/Delete a lobby |
1.1.5.2. | Get/Enter/Exit/Configure lobby | Get/Configure a lobby; Let a champion enter/exit a lobby |
1.1.5.3. | Matchmaking | Pick a random and available lobby and make a champion enter in the fight |
1.1.6. | Http routing | Establish http routes to access models data (1.2.*.) |
1.1.6.1. | Handle http routes via express.js | Establish and handle http routes using express.js framework |
1.2. | Models | Link views and controllers and provide default data |
1.2.1. | Arena (virtual machines) | Access to virtual machine datas; aka arena |
1.2.1.1. | Status | Access to virtual machine and fighting champions status |
1.2.1.2. | Logs | Access to virtual machine and fighting champions logs |
1.2.2. | Champions | Access to user champions datas |
1.2.2.1. | Champions library | Access to user champions library |
1.2.2.2. | Champions compilation | Access to champions compilation logs and status |
1.2.3. | Matchmaking/Lobby | Access available lobbies datas |
1.2.3.1. | Lobbies | Access to a list of all lobbies available |
1.2.3.2. | Matchmaking | Access to a random available lobby and enter in the fight |
1.2.4. | Users | Access user data |
1.2.4.1. | User profile | Access to user profile |
1.2.4.2. | User champions library | Access to user champions library |
2 | Front Office | Files served from web server; executed on client side |
2.1. | View | Web graphical user interface |
2.1.1. | Home | Website home page |
2.1.1.1. | Design mock-up | Design quick mock-up |
2.1.1.2. | Make user interface | Make the web user interface using Html/Css/AngularJs |
2.1.2. | User profile | User profile webpage |
2.1.2.1. | Design mock-up | Same as 2.1.1.1. |
2.1.2.2. | Make user interface | Same as 2.1.1.2. |
2.1.3. | Champions library | User personal champions library webpage |
2.1.3.1. | Design mock-up | Same as 2.1.1.1. |
2.1.3.2. | Make user interface | Same as 2.1.1.2. |
2.1.4. | Lobby/Matchmaking | Lobby/Matchmaking webpage |
2.1.4.1. | Design mock-up | Same as 2.1.1.1. |
2.1.4.2. | Make user interface | Same as 2.1.1.2. |
2.1.5. | Arena/Fight | Arena view during fight webpage |
2.1.5.1. | Design mock-up | Same as 2.1.1.1. |
2.1.5.2. | Make user interface | Same as 2.1.1.2. |