Skip to content

adamal5/Final-Project

 
 

Repository files navigation

Final-Project


Overview

The idea for this project is to design an application, encompassing all the techniques and tools learnt throughout the academy.

The project must be built and design to host a Help Queue application, where users will be able to log issues, entering a queue system. The project should include the following features;

Basic Functionality

Create basic functionality for the application, including full CRUD. Users will be ab le to:

  • Create new tickets and add them to the queue
  • View tickets in the current queue from oldest to newest
  • Delete existing tickets in the queue
  • Update existing tickets in the queue

Extra Functionality

Solutions

When a ticket is being marked as "Done", users should be able to add a solution to that ticket, allowing other users to see the solutions to a problem that has already been solved.

Cohorts

Implement a help queue per cohort, such that trainees can navigate to their cohort to see the help queue specific to their class.

A cohort page should display the trainers and trainees can make up that cohort.

Keyword Search

Implement a search bar feature, so that users can filter tickets based on keywords.

Technologies

Technology Constraint
Kanban Board Jira
Version Control Git
CI Server Jenkins
Configuration Management Ansible
Cloud Server AWS EC2
Database Server AWS RDS
Containerisation Docker
Reverse Proxy NGINX
Orchestration Tool Kubernetes
Infrastructure Management Terraform
Programming language Java
Front-End React
Unit Tests JUnit and Mockito
Integration Test Selenium

Project Planning


Risk Assessment

A full risk assessment was carried out before commencing with project tasks. The whole assessment can be found at the following link: https://docs.google.com/spreadsheets/d/1dbGavZvYB49_sulU9LrpJMsQJbQKQnIY7yc4-30rA4o/edit#gid=0

risk-assessment

Project Tracking

Jira was used to track the project progress. 5 Sprints were completed over the course of the project. Full details can be found at the following link: https://ms9.atlassian.net/secure/RapidBoard.jspa?rapidView=6&projectKey=PT

jira-screenshot

User Experience

Below we describe the users experience when using the site, this is done in a flowchart diagram, where the user can access different pages in a structured environment.

Diagram

userDiagram

Wireframes

HOME PAGE

homePageDesign

ADD TICKET

addTicketDesign

EDIT/ADD SOLUTION

editAddSolution

CI Pipeline

ci_pipeline

AWS

Network Diagram

aws_network_diagram

MOSCOW Prioritisation

moscow-prioritisation

Entity Relationship Diagram

erd

Testing

Backend: Java

Frontend: React

The frontend of the application was tested using Jest and the React-render-library. Snapshots were employed on all components to ensure code consistency post deployment. Unit testing was completed on key application fucntionality such as [insert list when done]. A view of the coverage report can be seen below:

react-coverage

Frontend Design

new-ticket view-tickets home-page

Other Resources

Presentation: https://drive.google.com/file/d/18WT3GHOPp2F1y0-33UtGdEDbXaohPTV3/view?usp=sharing

Authors

Adama Kabba

Daood Khan

Krystal Simmonds

Acknowledgements

A special thank you to all the trainers that provided insight and guidance throughout this project including: Jay Grindrod, Savannah Vaithilingam and Jordan Harrison.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 60.1%
  • HCL 19.9%
  • Java 13.9%
  • CSS 2.1%
  • HTML 1.8%
  • Groovy 0.9%
  • Other 1.3%