Code Monkey home page Code Monkey logo

tablo's Introduction

๐Ÿง Tablo

The one point of view to all your task boards.

Build Template Coverage

๐Ÿ’ก Idea

...

A full description of the idea is available here.

๐Ÿ† Motivation

...

๐Ÿคผโ€โ™‚๏ธ How to

Development

$ make init
$ source bin/activate
# PATH         -> bin/:PATH
# go get -mod= -> get
...
$ deactivate

๐Ÿงฉ Installation

Homebrew

$ brew install octolab/tap/tablo

Binary

$ curl -sSfL https://raw.githubusercontent.com/octopot/tablo/master/bin/install | sh
# or
$ wget -qO-  https://raw.githubusercontent.com/octopot/tablo/master/bin/install | sh

Don't forget about security.

Source

# use standard go tools
$ go get github.com/octopot/tablo/cmd/client@latest
$ go get github.com/octopot/tablo/cmd/server@latest
# or use egg tool
$ egg tools add github.com/octopot/tablo/cmd/client@latest
$ egg tools add github.com/octopot/tablo/cmd/server@latest

egg is an extended go get.

Bash and Zsh completions

$ tablo completion bash > /path/to/bash_completion.d/tablo.sh
$ tablo completion zsh  > /path/to/zsh-completions/_tablo.zsh
# or autodetect
$ source <(tablo completion)

See kubectl documentation.


made with โค๏ธ for everyone

tablo's People

Contributors

kamilsk avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

tablo's Issues

make debug

up infrastructure to use it with local debug mode

extend stub responses

  • Create
  • CreateBoard
  • GetBoard
  • GetBoards
  • UpdateBoard
  • DeleteBoard
  • CreateColumn
  • GetColumn
  • UpdateColumn
  • DeleteColumn
  • CreateCard
  • GetCard
  • UpdateCard
  • DeleteCard

prepare dev environment

  • describe base structure of environment
  • define oltp storage
  • define service
  • implement dev compose

update deps and improve makefile

  • goreleaser and godownloader
  • try to move them up (tools)
  • test-check
.PHONY: test-check
test-check:
	@go test -run=^hack $(PACKAGES)
  • test-full
.PHONY: test-full
test-full: test-with-coverage test-integration

.PHONY: test-integration
test-integration:
	@go test -tags=integration -run=^Example ./test/... 2> /dev/null
	@go test -tags=integration \
	          -cover \
	          -covermode count \
	          -coverpkg $(shell go list -m)/... \
	          -coverprofile integro.out \
	          -run=^TestService \
	          ./test/api
  • implement test-smoke
  • update env
.PHONY: env
env:
	@echo "GO111MODULE: $(shell go env GO111MODULE)"
	@echo "GOFLAGS:     $(shell go env GOFLAGS)"
	@echo "GOPRIVATE:   $(shell go env GOPRIVATE)"
	@echo "GONOPROXY:   $(shell go env GONOPROXY)"
	@echo "GONOSUMDB:   $(shell go env GONOSUMDB)"
	@echo "GOPROXY:     $(shell go env GOPROXY)"
	@echo "GOSUMDB:     $(shell go env GOSUMDB)"
  • update
.PHONY: update
update:
	@GOPRIVATE=$(GOPRIVATE) go get -mod= -u ./...

improve storage engine layer

		// TODO:debt
		//  - health check db.PingContext
		//  - better connection configuration through dsn
		//    - db.SetConnMaxLifetime
		//    - db.SetMaxIdleConns
		//    - db.SetMaxOpenConns
		//  - unset connection configuration from dsn
		//    - schema.Query().Del()
		//    - schema.RawQuery

improve storage layer

  • solve TODO:debt define storage as a dependency and move it outside
  • solve TODO:debt use real values
  • solve TODO:debt use real criteria
  • solve TODO:debt generalize to deleteByID
  • solve TODO:debt generalize to fetchByID
  • solve TODO:debt use fetchBoardByCriteria

prepare cli

  • config for cli
  • cobra integration
  • viper integration
  • database initialization

extend activate

# This file must be used with "source bin/activate" *from bash*
# you cannot run it directly

deactivate () {
    # reset old environment variables
    if [ -n "${_OLD_VIRTUAL_PATH:-}" ] ; then
        PATH="${_OLD_VIRTUAL_PATH:-}"
        export PATH
        unset _OLD_VIRTUAL_PATH
    fi
    if [ -n "${_OLD_VIRTUAL_PYTHONHOME:-}" ] ; then
        PYTHONHOME="${_OLD_VIRTUAL_PYTHONHOME:-}"
        export PYTHONHOME
        unset _OLD_VIRTUAL_PYTHONHOME
    fi

    # This should detect bash and zsh, which have a hash command that must
    # be called to get it to forget past commands.  Without forgetting
    # past commands the $PATH changes we made may not be respected
    if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then
        hash -r
    fi

    if [ -n "${_OLD_VIRTUAL_PS1:-}" ] ; then
        PS1="${_OLD_VIRTUAL_PS1:-}"
        export PS1
        unset _OLD_VIRTUAL_PS1
    fi

    unset VIRTUAL_ENV
    if [ ! "${1:-}" = "nondestructive" ] ; then
    # Self destruct!
        unset -f deactivate
    fi
}

# unset irrelevant variables
deactivate nondestructive

VIRTUAL_ENV="/Users/kamilsk/Development/private/qwep-wada/.virtenv"
export VIRTUAL_ENV

_OLD_VIRTUAL_PATH="$PATH"
PATH="$VIRTUAL_ENV/bin:$PATH"
export PATH

# unset PYTHONHOME if set
# this will fail if PYTHONHOME is set to the empty string (which is bad anyway)
# could use `if (set -u; : $PYTHONHOME) ;` in bash
if [ -n "${PYTHONHOME:-}" ] ; then
    _OLD_VIRTUAL_PYTHONHOME="${PYTHONHOME:-}"
    unset PYTHONHOME
fi

if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT:-}" ] ; then
    _OLD_VIRTUAL_PS1="${PS1:-}"
    if [ "x(.virtenv) " != x ] ; then
	PS1="(.virtenv) ${PS1:-}"
    else
    if [ "`basename \"$VIRTUAL_ENV\"`" = "__" ] ; then
        # special case for Aspen magic directories
        # see http://www.zetadev.com/software/aspen/
        PS1="[`basename \`dirname \"$VIRTUAL_ENV\"\``] $PS1"
    else
        PS1="(`basename \"$VIRTUAL_ENV\"`)$PS1"
    fi
    fi
    export PS1
fi

# This should detect bash and zsh, which have a hash command that must
# be called to get it to forget past commands.  Without forgetting
# past commands the $PATH changes we made may not be respected
if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then
    hash -r
fi

ps1 part

tools: Brewfile

instead of

.PHONY: brew
brew:
	@brew list protobuf &>/dev/null || brew install protobuf

problem with ssl cert

2019/11/26 20:41:51 [emerg] 24#24: cannot load certificate "/etc/nginx/ssl/xip.io.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/etc/nginx/ssl/xip.io.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)
nginx: [emerg] cannot load certificate "/etc/nginx/ssl/xip.io.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/etc/nginx/ssl/xip.io.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)
nginx: configuration file /etc/nginx/nginx.conf test failed

use go.octolab.org package

  • solve TODO:debt use use go.octolab.org/pointer.ToString
  • solve TODO:debt use go.octolab.org/safe.Do
  • solve TODO:debt use go.octolab.org/safe.Close

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.