Skip to content

mauleyzaola/issue-tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Issue-Tracker

Full tracking system written in Go/HTML

Introduction

I have been working with Jira for years. In spite how much I like Jira, I find it a bit complex to both ease of use and ability to integrate with other programs.

Lately I've had to develop separately different versions of the issue-tracker for another projects, and thought it would make sense to have one unified open-source version of it. And this is the reason I decided to create this project.

Issue-Tracker is written in Go and Javascript. The backend is a golang API and the storage is into a Postgres database. In the future I would like to make an implementation also in MongoDB, but I'm not sure I have time available. Postgres is now my bet and gives me the assurance that everything is working within transactions with referential integrity. Even attachments are stored in Postgres, so backup/restore operations are simple to achieve.

I hope you find useful this project, either you do what I do: integrate with other applications; or simply out of curiosity if you are someone who is learning to develop golang.

The frontend is done in HTML / JS with angularjs. I'm not a FrontEnd guy, so possibly the appearance is awful for an expert. Please have mercy.

I wish more people to contribute to the project to make it more robust, incorporate additional features and watch it grow. You can work as possible, I'm open to suggestions from detecting a bug or expose an improvement. Any feedback is welcome.

Below are some sample screens and the instructions to configure the application at the bottom.

Dashboard

demo1

Projects

demo2

Issues

demo3

Installation

NOTE: This has been tested to work in Ubuntu 14.04.3 but should be easy to port these instructions to MacOS or Windows

go get github.com/mauleyzaola/issue-tracker
Requirements

Make sure to prepare the setup for the UI before continuing. The instructions are here

You will need Postgres installed and change postgres user's password to: nevermind. So it can match the sample configuration files.

Setup

Run these commands to copy the sample configuration files to real ones:

cd $GOPATH/src/github.com/mauleyzaola/issue-tracker
cp migrations/dbconfig.yml.sample migrations/dbconfig.yml
cp server/config.json.sample server/config.json
cp test/config.json.sample test/config.json

Start a Postgres instance

docker run -d -e POSTGRES_PASSWORD=nevermind -p 5432:5432 --rm --name pg postgres:12

Next, create two databases in postgres; one is for running the unit tests, the other for the application.

psql -c 'create database tracker;'
psql -c 'create database tracker_test;'

When databases have been created, execute the check.sh script. It will download the go dependencies, create the database objects and run the unit tests.

./check.sh

Change to server/ directory, build the application and execute

cd server/
go build
./server

When you're done with UI setup, browse to your http://localhost/ and the application should be ready. The credentials to access are:

email: admin@admin.com password: admin

About

Issue tracker that mimics Jira functionality written in Go

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published