saltmine

command module
v0.0.0-...-5d765df Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 11, 2015 License: GPL-2.0 Imports: 5 Imported by: 0

README

![Gitter](https://badges.gitter.im/Join Chat.svg)

Build status

Saltmine

Saltmine

This is Saltmine - an attempt to modularize Redmine and in particular the OpenProject fork of it. While being able to fork OpenProject again, I will not consider this as the technical goal should be to provide a modularized system which enforces a microservice architecture from the beginning.

Saltmine will be written in GoLang - its frontend will be provided by a different repository.

Initial goals

These are the first milesstones

  • Provide an API for tickets and projects (CRUD operations, connect Ticket and Project)
  • Provide a form of documentation for the API

Development Setup

  • Setup Go properly - currently we use the latest stable. There are currently some problems with go-1.5rc1 recgarding goconvey
  • Install godep:
go get -u github.com/tools/godep
  • Clone the repo:
# You can and should use a fork
git clone git@github.com:florian/saltmine $GOPATH/src/github.com/floriank/saltmine
  • Restore the dependencies
# You can and should use a fork
cd $GOPATH/src/github.com/floriank/saltmine && godep restore
  • there is a Makefile included for common tasks
  • (Optional) If you want to use more fancy testing, go ahead and install goconvey:
go get -u github.com/smartystreets/goconvey

It's compatible with the go test command, however, it will start a server and you can visit its (very beautiful) testrunner here.

It's also included in the Godeps, however, it dioes not yet properly work (for me at least), i.e. it picks up the tests for the Godeps, which is not desirable.

NOTE: We use git flow for branching. You can do this manually if you want to, but usage of the tool is encouraged.

Private repo?

This is private until there is something presentable.

Long term goals

  • provide a fully open sourced modularized project collaboration tool based on services
  • provides an easily deployable solution via containers
  • strong integration:
    • Github/GitLab
    • Wunderlist
    • Evernote
    • BitBucket
    • CI systems
  • provide a migration script from Redmine/OpenProject to Saltmine

Even longer term goals

This is stuff I miss from Redmine and OP which would be neat if we can have that:

  • Full WAI compliance from the start with the support of a component model in the frontend
  • Fuzzy menu to quickly change to another part of the application
  • Watchable objects (not only tickets)
  • mentioning people - and using Markdown in tickets FFS
  • project sharing between instances
  • cross-project pull requests (from a single ticket, merge related PRs of multiple repositories at the same time)
Notes on migration

Migration would be a killer feature to provide for users to switch to Saltmine. There are some points discussed as of yet:

  • Migration would only be partially possible, as not all features are compatible
  • Textile content would be converted to Markdown (pandoc can do this)

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Godeps
_workspace/src/github.com/gorilla/context
Package context stores values shared during a request lifetime.
Package context stores values shared during a request lifetime.
_workspace/src/github.com/gorilla/mux
Package gorilla/mux implements a request router and dispatcher.
Package gorilla/mux implements a request router and dispatcher.
_workspace/src/github.com/jtolds/gls
Package gls implements goroutine-local storage.
Package gls implements goroutine-local storage.
_workspace/src/github.com/mattn/go-sqlite3
Package sqlite3 provides interface to SQLite3 databases.
Package sqlite3 provides interface to SQLite3 databases.
_workspace/src/github.com/qor/inflection
Package inflection pluralizes and singularizes English nouns.
Package inflection pluralizes and singularizes English nouns.
_workspace/src/github.com/smartystreets/assertions
Package assertions contains the implementations for all assertions which are referenced in goconvey's `convey` package (github.com/smartystreets/goconvey/convey) for use with the So(...) method.
Package assertions contains the implementations for all assertions which are referenced in goconvey's `convey` package (github.com/smartystreets/goconvey/convey) for use with the So(...) method.
_workspace/src/github.com/smartystreets/assertions/internal/oglematchers
Package oglematchers provides a set of matchers useful in a testing or mocking framework.
Package oglematchers provides a set of matchers useful in a testing or mocking framework.
_workspace/src/github.com/smartystreets/assertions/internal/oglemock/createmock
createmock is used to generate source code for mock versions of interfaces from installed packages.
createmock is used to generate source code for mock versions of interfaces from installed packages.
_workspace/src/github.com/smartystreets/assertions/internal/oglemock/generate
Package generate implements code generation for mock classes.
Package generate implements code generation for mock classes.
_workspace/src/github.com/smartystreets/assertions/internal/oglemock/generate/test_cases/complicated_pkg
Package complicated_pkg contains an interface with lots of interesting cases, for use in integration testing.
Package complicated_pkg contains an interface with lots of interesting cases, for use in integration testing.
_workspace/src/github.com/smartystreets/assertions/internal/oglemock/generate/test_cases/renamed_pkg
A package that calls itself something different than its package path would have you believe.
A package that calls itself something different than its package path would have you believe.
_workspace/src/github.com/smartystreets/assertions/internal/ogletest
Package ogletest provides a framework for writing expressive unit tests.
Package ogletest provides a framework for writing expressive unit tests.
Functions for working with source code.
_workspace/src/github.com/smartystreets/assertions/internal/reqtrace
Package reqtrace contains a very simple request tracing framework.
Package reqtrace contains a very simple request tracing framework.
_workspace/src/github.com/smartystreets/assertions/should
package should is simply a rewording of the assertion functions in the assertions package.
package should is simply a rewording of the assertion functions in the assertions package.
_workspace/src/github.com/smartystreets/goconvey/convey
Package convey contains all of the public-facing entry points to this project.
Package convey contains all of the public-facing entry points to this project.
_workspace/src/github.com/smartystreets/goconvey/convey/gotest
Package gotest contains internal functionality.
Package gotest contains internal functionality.
_workspace/src/github.com/smartystreets/goconvey/convey/reporting
Package reporting contains internal functionality related to console reporting and output.
Package reporting contains internal functionality related to console reporting and output.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL