Description
The issue tracker application was developd to assist developers with the task of managing the different issues that arose during development, testing and production of their projects.
This application is a multi-tenant application with one database that is used for multiple users. The main focus of this application alongside issue tracking was implementing a 'teams' feature which would enable multiple users to collaborate on projects. The introduction of teams also gave me the ability to work with websockets, something new to me at the time, which were utilized to implement the realtime chat feature.
This application was also a way for me to get more familiar with backend development. This was my second full stack application and development on this project began in 2020.
Features
Below are some of the features available within this application

Create Project
Projects can either be created for one user or for a team. When a project is created for a team, every user who is a part of that team can view the project. The description of each project utilizes markdown so a markdown preview window was provided beside the description to preview how the markdown would appear before creating the project.

Issue Management
Issues can be managed from within each project. Search and filtering were implement to assist with navigating multiple issues. Status indicates were added to give a quick overview on the status of each issue. Labels are also shown which can give each user an idea of what the issue entails using their status indicator.

Issues
A user can view each issue to obtain more information. On this page, a user can view information such as the issue's name, description, status, history and comments. The status of each issue can be updated to reflect that issue's current state. Comments can be utilized as either notes or to give fellow team members updates on the progress and challenges of resolving each issue. Issues can also be updated if necessary.

Real Time Team Chat
Ream time chat is available for users who want to communicate with other users within a team on different projects and issues within each project. This is a simple implementation of real time chat so things such as replying is not available.


Label Management
Each project has it's own set of labels. These labels can be updated, deleted or more labels can be added. The labels page also gives the user an overview of all the labels available within a project.