Giter VIP home page Giter VIP logo

bugtracker's Introduction

Table of Contents.

1. Introduction

1.1 Purpose

A bug tracker is an essential tool for any software development team, as it helps document the life cycle of any bugs that are encountered throughout the development process. With a bug tracker, teams can detect, track, and monitor any bugs, defects, or other issues that arise, and then work to eliminate them.

1.2 Scope

  In Scope
    1. User Management: includes user registration, login, and profile management.
    2. Bug Tracking: Enables users to report bugs, track progress, and prioritise bug reports.
    3. Reporting: Generates reports on bugs, bug fixing progress, and user activity.
  Out Scope
    1. Integration with other project management tools.
    2. Mobile app development for the bug tracking system.
    3. Automatic bug detection and fixing.

1.3 Objectives

    1. To provide a user-friendly interface for reporting and tracking bugs.
    2. To streamline the bug fixing process and reduce the time taken to fix bugs.
    3. To prioritize bug reports based on severity and impact.
    4. To provide real-time updates on bug fixing progress to stakeholders.
    5. To generate reports on bugs, bug fixing progress, and user activity for better transparency and accountability.

1.4 Overview

Bug tracking is an exciting process of discovering and fixing errors in software! It's like a thrilling treasure hunt where developers are on a mission to uncover and remove any pesky bugs. Finding errors in complex software systems can be challenging, but it's also incredibly rewarding to see a project come to life after all the bugs have been eliminated. With the right bug tracking tools, teams can ensure that software is working as intended to provide a seamless user experience.

1.5 Visual Diagram Overview

PDF Diagram PDF Account PDF Account PDF Account PDF Account PDF Account PDF Account PDF Account PDF Account PDF Account

1.6 Visual UI Overview

*insert Figma video here in 5 tables of stages in Minimum Varible Product.

2. System Features

2.1 User Management


2.1.1 User Registration

  •     1. Users should be able to register for the bug tracking system using their email address and password.
  •     2. Users should be able to provide their personal information such as name, company name, and job title during registration.
  •     3. The system should validate the email address before allowing users to complete the registration process.
  •     4. The system should send a confirmation email to users after successful registration.

2.1.2 User Login

  •     1. Users should be able to log in to the bug tracking system using their email address and password.
  •     2. The system should provide an option for users to reset their password if they forget it.
  •     3. The system should use secure encrypted connections (e.g. SSL/TLS) for user login.

2.1.3 Profile Management

  •     1. Users should be able to view and edit their personal information and preferences.
  •     2. Users should be able to change their password.
  •     3. The system should allow administrators to manage user accounts, including enabling and disabling user accounts.

2.2 Content Management


2.2.1 Bug Report Management

  •     1. Users should be able to create, view, edit, and delete bug reports.
  •     2. Bug reports should include a title, description, and attachments such as screenshots or log files.
  •     3. Users should be able to assign severity levels to bug reports.
  •     4. Users should be able to categorize bug reports by type, such as UI bugs, functionality bugs, performance bugs, etc.
  •     5. Users should be able to assign bug reports to developers for resolution.
  •     6. The system should provide a search function for finding specific bug reports.

2.2.2 Comment Management

  •     1. Users should be able to add comments to bug reports for better collaboration and communication.
  •     2. Users should be able to edit and delete their own comments.
  •     3. The system should provide a notification system for users when a new comment is added to a bug report they are following.

2.2.3 Activity Log

  •     1. The system should log all activities, such as bug report creation, updates, and deletions, for auditing and accountability purposes.
  •     2. The system should provide a search function for finding specific activities in the log.

2.3 Media Management


2.3.1 Image Management

  •     1. Users should be able to attach images to bug reports for better visualization and understanding of the bug.
  •     2. The system should automatically resize images to a suitable size for faster loading and to save storage space.
  •     3. The system should provide a preview function for users to view images before attaching them to bug reports.

2.3.2 Video Management

  •     1. Users should be able to attach videos to bug reports for better visualization and understanding of the bug.
  •     2. The system should automatically compress videos to a suitable size for faster loading and to save storage space.
  •     3. The system should provide a preview function for users to view videos before attaching them to bug reports.

3. System Design

3.1 Architecture Diagram


3.1.1 System Architecture

  •     1. The bug tracking system should consist of a front-end user interface, a back-end database, and an API for communication between the two.
  •     2. The front-end user interface should be developed using HTML, CSS, and JavaScript.
  •     3. The back-end database should be developed using MySQL or a similar database management system.
  •     4. The API should be developed using RESTful API design principles.

3.1.2 Component Diagram

  •     1. The bug tracking system should consist of the following components:
    • - Login page
    • - Dashboard
    • - Bug report management page
    • - Comment management page
    • - Activity log page
    • - User management page
    • - Media management page
  •     2. The components should interact with each other through the API.
  •     3. The components should be designed to be modular and scalable for future updates and expansions.

3.1.3 Contraints Diagram

Required fields for the bug report.
Note that the required fields of the bug report are:
    Bug Summary,
    Severity,
    Steps to reproduce,
    Actual Result,
    Expected Result.

3.2 Database Design


3.2.1 Database Structure

  •     1. The bug tracking system should use a relational database management system (RDBMS) such as MySQL.
  •     2. The database should consist of the following tables:
    • - Users
    • - Bugs
    • - Comments
    • - Media
    • - Activity Log
  •     3. The tables should be designed to be modular and scalable for future updates and expansions.

3.2.2 Tables and Fields

1. User Table

User Table

Field Name Description
id Primary key
name
email
password
role Options: administrator, developer, tester
created_at
updated_at
2. Bugs Table

Bugs Table

Field Name Description
id Primary key
title
description
status Options: open, closed, in progress
assigned_to foreign key referencing the User table
created_at
updated_at
3. Comments Table

Comments Table

Field Name Description
id Primary key
bug_id foreign key referencing the Bugs table
user_id foreign key referencing the Users table
comment
assigned_to
created_at
updated_at
4. Media Table

Media Table

Field Name Description
id Primary key
bug_id foreign key referencing the Bugs table
type Options: image, video
file_name
file_path
created_at
updated_at
5. Activity Log Table

Activity Log Table

Field Name Description
id Primary key
bug_id foreign key referencing the Bugs table
user_id foreign key referencing the Users table
action Options: Create, Update, Delete
assigned_to
created_at

4. Technical Requirements

4.1 Technology Stack


The bug tracking system will be developed using the following technologies:

4.1.1 Front-end:

  • HTML
  • CSS
  • JavaScript
  • React.js

4.1.2 Back-end:

  • Node.js
  • Express.js

4.1.3 Database:

  • MySQL
  • MongoDB.js

4.1.4 Testing:

  • Jest
  • Mocha

4.1.5 Deploymemnt:

  • Heroku

The system should be built using modular, scalable, and maintainable code to ensure the best performance and ease of development.

The system should be compatible with modern web browsers and mobile devices.


4.2 Compatibility Requirements


4.2.1 The bug tracking system must be compatible with the following operating systems:

  • Windows 10
  • MacOS 10.14 or later
  • Ubuntu 20.04 or later

4.2.2 The system must support the latest versions of the following web browsers:

  • Google Chrome
  • Mozilla Firefox
  • Apple Safari
  • Microsoft Edge

4.2.3 The system must be accessible on both desktop and mobile devices, with responsive design.

4.2.4 The system should have minimum hardware requirements:

  • 4GB RAM
  • Dual-core processor
  • 500MB hard drive

4.3 Security Requirements

1. The bug tracking system must use secure encryption for data transmission and storage.
2. User authentication and authorization must be implemented to restrict access to the system to authorized users only.
3. Passwords must be encrypted and securely stored in the database.
4. The system must implement measures to prevent hacking, such as regular security audits and vulnerability scans.
5. The system must have a disaster recovery plan in place in the event of a security breach.
6. The system must comply with relevant data protection and privacy regulations, such as GDPR.

5. Non-Function Requirements

5.1 Performance Requirements


5.1.1 Response Time

  1. The bug tracking system must have a response time of less than 2 seconds for all user actions.
  2. The system must be able to search and retrieve bug reports in less than 5 seconds.
  3. The system must be able to generate reports and statistics in real-time.

5.1.2 Load Time

  1. The system must be able to process and store a minimum of 1000 bug reports per day.
  2. The system must have a 99.9% uptime guarantee.

5.2 Security Requirements


5.2.1 Data Protection

1. The bug tracking system must securely store all user data and sensitive information.
2. The system must use encryption to protect data both in transit and at rest.
3. The system must allow users to control access to their own data, including the ability to delete it.

5.2.2 Threat Prevention

1. The bug tracking system must have mechanisms in place to detect and prevent unauthorized access attempts.
2. The system must have robust input validation to prevent SQL injection and other common attacks.
3. The system must regularly perform security audits and update its security measures as needed.

5.3 Usability Requirements


5.3.1 User Experience

1. The user interface of the bug tracking system must be intuitive and easy to use.
2. The system must provide clear and concise feedback to users on all actions.
3. The system must support a range of user roles, including reporters, developers, and managers.

5.3.2 Accessibility

1. The bug tracking system must comply with accessibility standards, such as WCAG 2.0.
2. The system must be fully functional for users with disabilities, including keyboard-only navigation.
3. The system must have adjustable text sizes and high-contrast options for visually impaired users.

4.2 Appendices and Credits


SRS - https://www.youtube.com/watch?v=rhXfrscZ_tM
MVP - https://blackboxofpm.com/mvpm-minimum-viable-product-manager-e1aeb8dd421

bugtracker's People

Contributors

lucas-joyce avatar

Watchers

James Cloos avatar  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.