Giter Site home page Giter Site logo

maxibug's Introduction

MaxiBug - Issue Tracker and To-do List

Windows Badge .NET Badge Visual Studio Badge Postgres Badge

This is a fork of MiniBug2 for VS2022 and .NET 4.8.

Some of the changes:

  • Multi-user instead of single-user
  • Uses a PostgreSQL database
  • Git support

MaxiBug is a simple issue tracker and to-do list, it is a Windows desktop multi-user application.

MiniBug main window

MaxiBug uses a Postgres database (9.4 or higher) to store data.

An image can be attached to an issue, drag & drop is also supported. Attached images are stored in the database.

Clipboard button

When using the "Copy to clipboard" button, text and images can be pasted into office applications by using "Paste special".

Benchmarks

Tested on a Windows 10 machine with PostgreSQL 14 and an SSD. For a database with 4000 issues the first loading time will be about 1.5 seconds and subsequent application starts will be faster. As Postgres caches data, testing gives varied results.

Features

  • Issues: create, edit, delete, clone
  • Tasks: create, edit, delete, clone
  • Show/hide/sort columns
  • Some user defined settings
  • Export issues and tasks to CSV format

Database diagram

DB diagram

Class diagram

An overview of the main classes and enumerations:

Class diagram

(note: to open the diagram in Visual Studio you must have the "Class diagram" option enabled in the VS installer)

Getting Started

For security reasons, PostgreSQL does not listen on all available IP addresses on the server machine initially. In order to access the server over the network, you need to enable listening on the address first.

For PostgreSQL servers starting with version 8.0, this is controlled using the listen_addresses parameter in the data\postgresql.conf file. Here, you can enter a list of IP addresses the server should listen on, or simply use '*' to listen on all available IP addresses. Also see: https://www.postgresql.org/docs/current/runtime-config-connection.html

If your Postgres server is exposed to the internet the default user and password should be changed and Postgres should preferably be using a non-default port.

As MaxiBug does not offer user authentication itself, the users and their passwords should be managed in Postgres.

See: How to Create User in PostgreSQL (Postgres) Using PgAdmin.

In the MaxiBug settings the connection settings for a user can be configured. Although multiple users can login with the same user name, this is not recommended.

For testing purposes a portable version of PostgreSQL can be downloaded.

Another option would be to use a Postgres hosting provider like Heroku as mentioned in this C# Corner article. I tried to get the free Postgres option working, but without success.

Prerequisites

How To Use

First set the Postgres user name and password in the Settings screen. If the user has the rights to create a database, create a new project (File > New Project), by defining a project name and database name:

New project window

Next you can start adding issues and tasks:

  • issues are bugs/problems
  • tasks are items in a to-do list

Issues

Edit issue

Note: it's possible to jump to other issues by double-clicking on an issue number in the description field.

By selecting the "Git history" tab and pressing the sync button at the bottom-right, the Git history for an issue can be retrieved.
This will only work if Git for Windows is installed and a working copy of the repository is present on your system.

Git form

Example git command to search in commit messages (can also be executed from DOS):

  git -C "C:\Projects\Test_Repo" log -i -E --grep="\[(axo.: 10)\]"  

Example git command to search in tags:

  git -C "C:\Projects\Test_Repo" tag --list "Release*"

Clicking the Git log help link will open the browser with the Git log help page.

If you get a Git error about not being the owner of the directory, it might help running MaxiBug as administrator.

It is also possible to get the Git history from GitHub, a classic Personal Access Token needs to be created first on GitHub.

Git form

In the example all comments containing the string "Bumped" will be retrieved.
Note that the User name field is not used at the moment.

Tasks

Edit task

Settings

The user can modify the settings (File > Settings) for the Postgres connection:

Edit postgres settings

Change the project name:

Edit project settings

Customize the look and feel of the application:

Edit user interface settings

Change some other settings:

Edit misc settings

Settings in action:

Edit settings

Sorting

The videos below are from the original MiniBug application and look slightly different in MaxiBug.

You can sort the grid rows in two ways:

  • by clicking on a column header:

Sort rows (first method)

  • by using the Configure Columns window:

Sort rows (second method)

Using the second method you can sort by up to two columns and with different criteria (ascending or descending).

Column visibility

You can show/hide any column (except the ID column, which is always visible), using the Configure Columns window:

Show/hide columns

Exporting

You can export a project's issues and tasks to CSV (comma separated values) files:

Export project

Because issues and tasks have a slightly different structure, they are exported to separate files. If a project only has issues or tasks, only one file will be generated:

Export project only with issues

License

This project is licensed under the MIT License - see the LICENSE.md file for details.

Acknowledgments

This project uses the following libraries:

Chart, Clipboard, Sync, PDF and Filter icon by Icons8

maxibug's People

Contributors

rickzeeland avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

mofees ststeiger

maxibug's Issues

Ability to permanently hide the pie chart

Hello,

I enjoy using this little helper. Thank you. I am not using the pie chart a lot, so it would be good, to permanently hide it, and just use it if requested.
I am using the version without a database (MiniBug v2).

Thanks

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.