christian-qa / redfern-dnd-website Goto Github PK
View Code? Open in Web Editor NEWA visual interface for a Dungeons and Dragons scenario as part of my individual project
License: MIT License
A visual interface for a Dungeons and Dragons scenario as part of my individual project
License: MIT License
As a player, I want my character to have ability stats so that I can play Dungeons and Dragons. Abilities are a core mechanic which must be included in any Dungeons and Dragons Homebrew scenario.
Priority: Must
Story Points: 5
This will be ManyToMany
As a user, I want a character sheet to read as it is needed to play Dungeons and Dragons.
Priority: Must
Story Points: 3
Get GET Axios command to work for the character sheet
Approx Story Points: 50+
Implement all of the features of the old Mesa's App Lab application this application was derived from.
Quality of life features relying on beta testing and multiple play sessions.
As a developer, I want to have access to a technology which analyses my code for me and gives feedback on my coding practices. It would also be good to have this same technology run my tests to provide coverage data for both integrated testing and as a number to put on my README
Priority: Must
Story Points: 1
Link CI Pipeline to SonarQube
As a developer, I want there to be tests for the frontend so that I know the browser has sufficient coverage as I don't feel relying on static testing entirely is a good idea.
Priority: Should
User Stories: 4
As a user, I want a web application which can be used as an interface for a homebrew Dungeons and Dragons scenario. This must implement a back-end, a front-end and a database to achieve everything it needs to in an effective way.
Priority: Must
Story Points: 1
Create Java Maven/Spring Project on IntelliJ
As a player, I want to be able to save and load my character details and progression in some way, shape or form so that I can play a game spanning more than one session. This can be achieved using a GCP MySQL database, but needs a functioning backend with API Calls.
Priority: -
Story Points: 3
As a player, I want my character to have a class to give them a path of progression unique to them as it's important to most Dungeons and Dragons scenarios.
Priority: Should
Story Points: 5
This will be OneToMany/ManyToOne
As a developer, I want the most up-to-date version of the ERD available, with the naming conventions, tables and columns present to be exactly the same as what's in the project, as this will allow less 'figuring things out'.
Priority: Should
Story Points: 1
Update ERD to fit continuously integrated features which weren't planned in the initial stage of development
As a player, I want my character data to be stored on the cloud so that I don't have to worry about locally saved data and which device I am using as doing so would be too much hassle. Also, local device failure could ruined the Dungeons and Dragon scenario, which may last a long time, meaning a lot of progress could be lost.
Priority: Must
Story Points: 1
Create GCP Instance for MySQL Database
As a developer, I want to make sure my class works so that players don't encounter bugs without doing something they obviously shouldn't be doing, and even then it should be prevented if possible.
Priority: Must
Story Points: 3
Unit Tests for Service
Unit Tests for Controller
Unit Tests for the other classes
Integration Tests for Service
Integration Tests for Controller
Integration Tests for the other classes
As a user, I want to be able to create a character without manually setting my hp, exp, etc. as trying to do so at this point would throw an error.
Priority: Could
Story Points: 1
Add default values to specific database columns:
Approx Story Points: 100
A Kanban board with full expansion on user stories and tasks needed to complete the project. It should also provide a record of any issues or risks that you faced creating your
A relational database, located within the Cloud, which is used to persist data for the project. This database must contain at least three entities, and must be modelled using an ERD.
A functional application ‘back-end’, written in the language that you have covered during training, created following OOP principles and best practice, that meets the requirements set on your Kanban board. This application must be modelled using using UML.
A functional ‘front-end’ website (and integrated APIs) which connect to your back-end.
Fully designed test suites for the application you are creating, as well as automated tests for validation of the application. You must strive to achieve industry-standard (80%) test coverage through both unit and integration
Code fully integrated into a Version Control System, which will subsequently be built through a CI server and deployed to an artefact repository manager and/or a Cloud-based virtual machine.
Character Sheet Interface, Database Table, API calls and full functionality operational
Skills Sheet Interface, Database Table, API calls and full functionality operational.
Abilities Sheet Interface, Database Table, API calls and full functionality operational.
A readable front-end with full functionality of the above features from the player's perspective.
As a developer, I want access to a diagram which provides visual representation for the database and the tables it contains so that I can gain an understanding of how the tables interact quickly.
Priority: Must
Story Points: 2
Create ERD Diagram
As a developer, I'd like a place to store and control my project and subsequent versions, with the ability to switch between branches for safer implementation of new features, so that I can revert to a previous version of my project in the event something goes wrong.
Priority: Must
Story Points: 1
Create project repository on GitHub
Approx Story Points: 200
ActionList Sheet Interface, Database Table, API calls and full functionality operational.
Class Sheet Interface, Database Table, API calls and full functionality operational.
Inventory Sheet Interface, Database Table, API calls and full functionality operational.
Race Sheet Interface, Database Table, API calls and full functionality operational.
A stylised index and character page.
Quality of life features relying on manual testing.
As a player, I want to have a character sheet which stores all my data and acts as the meta to a series of other data sources which store everything I need to play the Dungeons and Dragons scenario, from skills to inventory.
Priority: Must
Story Points: 8
This will be the main centre point of all tables barring User.
As the project manager, I'd like a plan of what needs to be done so that I'm not blindly developing features.
Priority: Must for core tables. Consult ERD for the priorities of other tables.
Story Points: 1
As a developer, I want to make sure my class works so that players don't encounter bugs without doing something they obviously shouldn't be doing, and even then it should be prevented if possible.
Priority: Must
Story Points: 3
Unit Tests for Service
Unit Tests for Controller
Unit Tests for the other classes
Integration Tests for Service
Integration Tests for Controller
Integration Tests for the other classes
As a developer and user, I want all the project files present as I don't see the point in working with a version where things are missing.
Priority: Must
Story Points: 1
Issues with VSC not auto committing led to work being lost. Time will need to be delegated to search through the files to spot what's missing.
As a user, I want to be able to delete character sheets as I may not want to use them again
Priority: Must
Story Points: 3
Get DELETE Axios command to work for the character sheet
As a player, I want to be able to store my character somewhere so that I can use my character for more than one session, rather than having to keep remaking the character each time I play. A Dungeons and Dragons application without this functionality is pointless as very few scenarios last just one session.
Priority: Must
Story Points: 6
Create JDBC and link the Java application to the GCP MySQL instance
As a user, I want to be able to update my character sheet as Dungeons and Dragons revolves around long-term progression
Priority: Must
Story Points: 3
Get PUT Axios command to work for the character sheet
As a developer, I want access to a platform which can enable continuous integration, and can send it to over DevOps technologies for me i.e. SonarQube. This will allow for more passive, continuous testing and a more agile approach to development. Also, it's very quick and easy to setup, a true gift given how useful CI Pipelines are.
Priority: Must
Story Points: 1
Create a CI Pipeline for the project on Jenkins
As a LITERALLY ANYONE, I want access to a manual which provides all the details I'll ever need to use the application, both as a user and a developer.
Priority: Must
Story Points: 4
Create a README and post it to my GitHub project repository
As a developer, I want to make sure my class works so that players don't encounter bugs without doing something they obviously shouldn't be doing, and even then it should be prevented if possible.
Priority: Must
Story Points: 6 (higher than the other test-related stories because things relation to the CharacterSheet domain are done first)
Unit Tests for Service
Unit Tests for Controller
Unit Tests for the other classes
Integration Tests for Service
Integration Tests for Controller
Integration Tests for the other classes
As a player, I want my character to have a skillset so that I can play Dungeons and Dragons. Skills are a core mechanic which must be included in any Dungeons and Dragons Homebrew scenario.
Priority: Must
Story Points: 5
This will be ManyToMany
As a player, I want it so the character details don't appear late so that I don't witness jank.
Priority: Could
Story Points: 1
Add loading screen to hide as character details are loaded in
As the project manager, I want to be able to create, read, update and delete from IntelliJ so that I can better understand how the code I'm developing works with the database. Essentially, it's a method for learning how the front-end, back-end and database works together.
Priority: Should
Story Points: 1
Set up console in IntelliJ for running MySQL statements locally rather than on GCP
As a player, I want my character to have actions they can use throughout the campaign which are added over time and allow for more versatile gameplay as it's important to any Dungeons and Dragons scenario.
Priority: Should
Story Points: 5
This will be ManyToMany
As a user, I want to be able to insert skills into my character sheet after I've made the character as skills in-game came be attained over time.
Priority: -
Story Points: 3
Get PATCH Axios command to work for the character sheet
As a player, I want my character to be tied to my own account so that the character is mine and no one else's as I don't want other people changing the character I'm using.
Priority: Could
Story Points: 5
As a developer, I want it so that tests don't effect entries in the database I'm using as doing otherwise could result in data lost.
Priority: Must
Story Points: 1
Create new database for tests on either H2 or GCP
As the project manager, I want to know the risks going into the project which could result in failure if not managed or avoided so that the development of the project can be completed without issue. This is also priceless as a retrospective piece
Priority: Must
Story Points: 1
Create a Risk Assessment
Approx Story Points: 250
As the project manager, I want the skill table to work without calling an error and claiming the character_sheet (id) in skills is null, as this needs to be fixed to implement the skills table.
Priority: Must
Story Point: 2
All tests for the skills table need to work again
As a developer, I want a schema for the purpose of quick (both manual and automated) creation of the same table as it would boost my workflow and is a requirement for most JDBC projects
Priority: Must
Story Points: 2
Create mesadnd schema
As a user and a developer, I want the backend to be on the cloud so that it doesn't rely on a local host connection.
Priority: Must
Story Points: 4
Create GCP virtual machine to contain the project
As a user, I want the website to be uniquely stylised as I probably won't be interested in an eyesore.
Priority: Could
Story Points: 8
Add assets and stylised the website to make it appealing.
As a user, I want to be able to retrieve skills from a database rather than make a skill each time I want to add it to my character. The same applies for Abilities.
Priority: Must
Story Points: 2
Change Ability and Skill connection to CharacterSheet from a OneToMany to a ManyToMany
As a player, I want my character to have a race to add to character diversity as it's important to most Dungeons and Dragons scenarios.
Priority: Should
Story Points: 5
This will be OneToMany/ManyToOne
As a player, I want my character to have some way of storing items collected during the campaign as items are important to the Dungeons and Dragons game.
Priority: Should
Story Points: 5
This will be ManyToMany
As a developer, I want the skills to preload into the project as having to keep remaking them is a hassle. Also, the skills are predetermined and will never change throughout the development cycle unless it is to improve the scenario, which isn't important until the beta stages of the project.
Priority: Could
Story Points: 2
Create a JSON file containing every skill to be preloaded into the project
As a developer, I want to be able to conduct continuous integration and store my project in an artifact repository, so that I have a target to deploy artifacts generated in the build process and store artifacts needed for future builds.
Priority: Must
Story Points: 1
Link Jenkins to Nexus Repository
As a user, I would like for the application to be hosted on GCP as I don't want to need to involve myself with the server side.
Priority: Should
Story Points: 3
Deploy application to GCP App Engine
As a user, I want to be able to view all of my skills in one place as it will be more convenient for me as a player.
Priority: Should
Story Points: 2
Create a list of skills which can be displayed on the web page.
As a user, I want to be able to make character sheets as that is the main selling point of the application.
Priority: Must
Story Points: 3
Get POST Axios command to work for the character sheet
Initial Pom Dependancies
As a developer, I want access to numerous vital technologies to allow for a smooth start to my development. These will be subject to change, namely moving from H2 to MySQL, but it is important to start small and think big rather than think big and squander my time on hopeless pursuits.
Priority: Must
Story Points: 1
As a developer, I want to be able to run tests on SonarQube as it is more reliable for coverage than the IDE.
Priority: Should
Story Points: 2
Fix issues with Maven and Jenkins where the build cannot find test.properties, causing the tests to fail.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.