Giter Site home page Giter Site logo

keneildev / animebattlegenerator Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 6.7 MB

Project that uses 3 microservices that passes information to each other and displays on a front end application

C# 75.28% HTML 12.62% CSS 3.41% JavaScript 0.57% HCL 8.13%

animebattlegenerator's Introduction

AnimeBattleGenerator

QA Application Project 2๐ŸŒ

Contents

  1. Brief.
  2. Architecture.
  3. Project Tracking.
  4. Risk Assessment.
  5. Testing.
  6. Front-End Design.
  7. Known Issues.
  8. Future Improvements.
  9. Authors.

1. Brief

For this brief I have been asked to create an application that generates "Objects" upon a set of predefined rules. It requires a service orientated architecture which must be composed of at least 4 services that work together. Service 1 renders a HTML, service 2 and 3 both generate a random "Object" and service 4 will also create and object that's based on the result of service 2 and 3.

Additional Requirements

In addition to the requirements set out in the brief, I am also required to include the following:

  • A Trello board (or equivalent Kanban board tech) with full expansion on user stories, use cases and tasks needed to complete the project. It could also provide a record of any issues or risks that I faced creating my project.
  • Clear Documentation from a design phase describing the architecture I used for my project as well as a detailed Risk Assessment.
  • Create two different implementations for service 2,3 and 4.
  • An Application fully integrated using the Feature-Branch model into a Version Control System which will subsequently be built through a CI server and deployed to a cloud-based environment.
  • If a change is made to a code base, then Webhooks should be used so that Azure Pipelines recreates and redeploys the changed application
  • Applications and services should be deployed using azure as a cloud platform.

2. My Approach

To meet the requirements of the brief, I have produced a MVC Web application using the .NET Framework Core that that must allow the user to do the following:

  • Create a service that generates a class of anime classes and a second service that creates a class of anime clans. The third service would then generate a final combination of both classes which merges their stats that is then displayed on the front end.

3. Architecture

Database Structure

Pictured below is an entity relationship diagram (ERD) showing the structure of the models.

ERD:

Alt text

CI Pipeline

My CI Pipeline consists of a few Steps

  1. Deploy Code From machine to GitHub
  2. Setup Resource group that contains AppServices and AppService plans on Azure using Terraform: Alt text which then shows up on azure: Alt text
  3. Setup CI workflow using GitHub actions: Alt text Completed workflow: Alt text

##Project Tracking

Trello was used to track the progress of the project (pictured below). You can find the link to this board here: QA Project 2 | Trello

Alt text

The board has been designed and structured to move from left to right from of the project implementation. The summary of each card is stated below

  • Backlog [User Stories]: A list of requirements set out in the brief in order for this to be a successful project.
  • Project Resources: List of relevant resources
  • User Stories: Any functionality that is implemented into the project first begins as a user story. This keeps the development of every element of the web app focused on the user experience first.
  • Planning: is the section where decisions are being made on what needs to be implemented next
  • In Progress: shows what's currently being worked on
  • Testing: once a feature has been implemented it goes onto the testing stage
  • Finished : this section contains the features that have passed the testing stage and made it to production

4. Risk Assessment

The risk assessment matrix for this project can be found below in the screenshot :

Alt text

5. Testing

Only one of the controllers for this application was tested using xUnit testing alongside with a code coverage report addon. The controller test included Repository patterns, Moq implementation to mock the controller behavior.

Below is a screenshot of the coverage report :

Alt text

6. Front-End Design

When the web app is first launched the user will be brought to this home page:

Alt text

Here are also some Swagger Screenshots of the Services: Class API: Alt text Clan API: Alt text FaceOffAPI: Alt text

7. Known Issues

There aren't any issues I'm currently aware of...

8. Future Improvements

For future improvements outside of my existing bugs I would like to:

  • Add a more satisfying UI
  • A feature where it generates two characters at once and compares their stats as well.
  • Implement Angular

9. Authors

Keneil Jordan

animebattlegenerator's People

Contributors

keneildev avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.