Track, Manage and resolve features and bugs
Universal bug tracker for everyone! BugTrack allows team members to collaborate, discuss and manage projects effectively.
- Team management
- Statistics
- User assignement
- Ticket labels
- Ticket history
- Role based organisation
- Change tracker
- Docker Support
- Mail Service
- Comments and Reactions
- Ticket History
Frontend: React, TailwindCSS, Chart.js, React-Icons
Backend: Go, Gorilla MUX, MongoDB, JWT, Bcrypt
Since the core application is protected through authentication and authorization, the first page you will directed to will be the login page
If you are a new user, you can signup as an admin for your company for the first time. If an admin already exists, only the admin can signup a new user.
Upon successful authentication, you will be redirected to the main page. Here you can see user-management and systems-logs as the user is an admin.
The upper part of the page will be in charge to display the projects while the lower part will display the ticket related statistics to get an immediate idea of the state of the organization.
From the dashboard, an admin can create a new project and assign team to it. Only the users linked to this project will have access to it and its tickets.
From the same page, by hitting the tripple dots in the actions section of the table, you are able to update or delete the projects. Upon using the corresponding button, you will be prompted with a modal asking you to confirm your action. Deleting a project will as well delete every ticket linked to the project.
Upon clicking one of the purple project name, you will be taken to the tickets linked to the projects. Or you can click on Tickets from the sidebar to see all the tickets.
Clicking on the blue "New Ticket" button will open a modal allowing you to create the specific fields of your new ticket and assign the developers that will work on it.
Once again, by clicking on the three dots, you will gain access to the update and delete modal.
On the left hand side resides the main tabs of the application. If a user click on the ticket tab, it will take him to a page holding all ticket relatid to him/her. The way tickets would be fetch will depend on the role assigned to the user:
- Admin: Will fetch all the tickets of the system. Has the possibility to filter the result down to the tickets he/she created.
- Project Manager: Will fetch all the tickets linked to the projects the PM is assigned to.
- Developer: Will fetch all the tickets they are assigned to.
- Submitter: Will fetch all the tickets they created.
if the user is logged in as an Admin, he/she will have the option to click on the User management tab. This page will fetch all the user in the system, display their name, email and roles, and allow the admin to perform diverse operations.
By clicking on the triple dot of each row, the admin will be able to perform three type of action:
By clicking on "new user" button you can create a new user and assign them roles
Clicking on the update button will open a modal allowing you to update the user's information, including the role.
Users can be both locked and unlocked from the system. Still by clicking the triple dots the admin will be able to access the below modal. If the user is locked, the option will be defaulted to unlock and vice-versa.
Finally, the admin might want to remove permanently somebody from the organization. If he/she wish to do so, the triple dots also give access to a delete user modal. He/She, will be asked for confirmation and will then be able to validate the action.
All the actions of the users will be logged in the system. The admin will be able to see the logs of the system.
and that wraps it up!
Please ⭐️ this repository if you liked the project!
Copyright © 2022 @ArmaanKatyal
This Project is MIT Licensed